CentOS7 编译安装LNMP环境

随风 2018-09-11 22:46:47
先下载自己需要的软件版本,我这里下载的如下 mysql-5.6.31.tar.gz nginx-1.10.1.tar.gz php-5.6.30.tar.gz pcre-8.39.tar.gz zlib-1.2.8.tar.gz 解压命令
tar zxvf xxx.tar.gz

1.安装nginx

首先安装nginx的依赖
yum -y install gcc gcc-c++ openssl openssl-devel cyrus-sasl-md5
准备编译,我们将nginx安装到/usr/local/nginx目录下
cd nginx
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-pcre=../pcre-8.39 --with-zlib=../zlib-1.2.8
make && make install  #进行安装
启动nginx
/usr/local/nginx/sbin/nginx
更改配置重启nginx  
/usr/local/nginx/sbin/nginx -s reload
判断配置文件是否正确 
nginx -t -c /usr/local/nginx/conf/nginx.conf
#或者
/usr/local/nginx/sbin/nginx -t
查询nginx主进程号
ps -ef | grep nginx
  从容停止 kill -QUIT 主进程号 快速停止 kill -TERM 主进程号 强制停止 kill -9 nginx 若nginx.conf配置了pid文件路径,如果没有,则在logs目录下
kill -信号类型 '/usr/local/nginx/logs/nginx.pid'
下面我们将nginx的位置加入到环境变量中
vim /etc/profile 

#添加
export PATH="$PATH:/usr/local/nginx/sbin:"
unset i

source /etc/profile 
后面就可以直接使用nginx命令了

2.安装PHP-FPM

首先安装必要的软件依赖
yum -y install gcc gcc-c++ libxml2 libxml2-devel autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel  zlib zlib-devel glibc glibc-devel glib2 glib2-devel
准备编译,我们将PHP-FPM安装到/usr/local/php-fpm目录下
cd php
./configure --prefix=/usr/local/php-fpm --enable-fpm --with-zlib  --with-pdo-mysql --enable-mbstring --with-gd --with-png-dir=/usr/lib64 --with-jpeg-dir=/usr/lib64 --with-freetype-dir=/usr/lib64
make && make install  #进行安装
这里我们不着急启动php-fpm,我们先对它进行一些配置,到php-fpm的安装目录etc下复制一份配置文件
cd /usr/local/php-fpm/etc
cp php-fpm.conf.default php-fpm.conf
vim php-fpm.conf

pid=run/php-fpm.pid  #去掉分号注释
user=web
group=web
listen=127.0.0.1:9000

#添加用户
useradd web
#启动
/usr/local/php-fpm/sbin/php-fpm

#关闭php-fpm (路径要一样)
kill `cat /usr/local/php-fpm/var/run/php-fpm.pid `

#重启(路径要和我的一样,在已经启动的情况下才有效)
kill -USR2 `cat /usr/local/php-fpm/var/run/php-fpm.pid `

3.安装MySQL

cd mysql
#安装需要的工具
yum -y install cmake ncurses-devel
#编译mysql
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data
make && make install  #进行安装
配置mysql
cd /usr/local/mysql/
groupadd mysql    #创建mysql组
useradd -r -g mysql mysql    #增加mysql用户并让它属于mysql用户组
 rm -f /etc/my.cnf  #删除默认的配置文件
./scripts/mysql_install_db --user=mysql #安装MySQL系统表
下面将所有目录都改成root 和root组 只有data目录不是
chown -R root:root .
chown -R mysql:mysql data
修改配置文件
cp support-files/my-default.cnf /etc/my.cnf
以完整路径的方式启动MySQL
/usr/local/mysql/bin/mysqld_safe --user=mysql &
置MySQL守护进程,将MySQL程序复制到启动目录
cp support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
已经可以使用管理服务的命令管理MySQL了
service mysqld start
配置环境变量
vim /etc/profile

export PATH="$PATH:/usr/local/apache/bin:/usr/local/mysql/bin"

source /etc/profile
此时mysql还没有密码,去配置一下
mysql -u root -p
#回车
use mysql
#删除不必要的用户
delete from mysql.user where host <> 'localhost';
delete from mysql.user where user <> 'root';
#设置密码
update mysql.user set password=password('root') where user='root';  # 设置密码
flush privileges; # 刷新权限让密码生效
此时我们退出MySQL再登录就需要密码了