CentOS 6 编译安装 LNMP环境

清理已经安装包

rpm -e httpd
rpm -e mysql
rpm -e php
yum -y remove httpd
yum -y remove mysql
yum -y remove php
#检查apache是否卸载干净
rpm -qa|grep http*
#检查mysql是否卸载干净
rpm -qa|grep mysql 

强制卸载 
rpm -e mysql-libs-XXX --nodeps

#检查apache是否卸载干净
rpm -qa|grep php
卸载顺序是:
#rpm -e php-mysql-XXX
#rpm -e php-pdo-XXX
#rpm -e php-xml-XXX
#rpm -e php-cli-XXX
#rpm -e php-gd-XXX
#rpm -e php-common-XXX

selinux可能会致使编译安装失败,我们先禁用它。
永久禁用,需要重启生效
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

临时禁用,不需要重启 
setenforce 0
#安装依赖包:
yum -y install make gcc gcc-c++ gcc-g77 flex bison file libtool libtool-libs autoconf kernel-devel libjpeg libjpeg-devel libpng libpng-devel libpng10 libpng10-devel gd gd-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glib2 glib2-devel bzip2 bzip2-devel libevent libevent-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel gettext gettext-devel ncurses-devel gmp-devel pspell-devel unzip libcap lsof

安装mysql5.7.21(非编译)


1、把mysql传到服务器并解压到/usr/local

tar -xzvf mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz -C /usr/local

2、进入/usr/local目录

cd /usr/local

3、为mysql安装目录创建软链接

ln -s  mysql-5.7.21-linux-glibc2.12-x86_64 mysql

4、为centos添加mysql用户组和mysql用户

#-s /bin/false参数指定mysql用户仅拥有所有权,而没有登录权限
groupadd mysql
useradd -r -g mysql -s /bin/false mysql

5、进入安装mysql软件的目录,命令如下:

cd /usr/local/mysql

6、修改/usr/local/mysql权限,命令如下:

chmod +w /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql

7.安装mysql(在目录/usr/local/mysql下),命令如下:

bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize  
#提示缺少libnuma.so.1这个文件,可能是因为系统是64位的,系统没有64位的这个so库
wget -o /usr/local/src http://mirror.centos.org/centos/6/os/x86_64/Packages/numactl-2.0.9-2.el6.x86_64.rpm

下载后安装命令如下

rpm -ivh /usr/local/src/numactl-2.0.9-2.el6.x86_64.rpm
#再次执行安装mysql命令
bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize  #即可安装成功
#安装成功后,记住随机密码

8、开启mysql服务,命令如下:

./support-files/mysql.server start  #出现 success 启动成功

9、进入support-files目录,如果有my.cnf或者my-default.cnf 复制到etc目录下并更名为my.cnf

cd support-files/   
#如果有my.cnf请备份
mv /etc/my.cnf  /etc/my.cnf.bak
#复制配置文件到etc下
cp my-default.cnf   /etc/my.cnf

10、将mysql进程放入系统进程中,命令如下:

cp support-files/mysql.server /etc/init.d/mysqld  
#赋予执行权限
chmod +x /etc/init.d/mysqld

11、设置开机启动并启动mysql

#开机启动
chkconfig mysqld on启动MySQL
service mysqld start 或者  /etc/init.d/mysqld start

12、把mysql的命令设置为环境变量

vi /etc/profile #在文件末尾添加下面2句
PATH=/usr/local/mysql/bin:$PATH
export PATH
#让配置立即生效
source /etc/profile

13、登录mysql测试

mysql -u root -p

安装php-7.1.14

1、安装依赖关系

libiconv库为需要做转换的应用提供了iconv()函数,实现2种字符编码间的转换

cd /usr/local/src
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
tar zxvf libiconv-1.14.tar.gz
cd libiconv-1.14
./configure --prefix=/usr/local/libiconv 
make && make install

libmcrypt是加密算法扩展库。

cd /usr/local/src
wget http://iweb.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz
tar zxvf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
./configure
make && make install

Mhash是基于离散数学原理的不可逆向的php加密方式扩展库,其在默认情况下不开启

cd /usr/local/src
wget https://nchc.dl.sourceforge.net/project/mhash/mhash/0.9.9.9/mhash-0.9.9.9.tar.gz
tar zxvf mhash-0.9.9.9.tar.gz
cd mhash-0.9.9.9
./configure
make && make install

mcrypt 是 php 里面重要的加密支持扩展库,Mcrypt扩展库可以实现加密解密功能,就是既能将明文加密,也可以密文还原。

cd /usr/local/src
wget http://iweb.dl.sourceforge.net/project/mcrypt/MCrypt/2.6.8/mcrypt-2.6.8.tar.gz
tar zxvf mcrypt-2.6.8.tar.gz
cd mcrypt-2.6.8
./configure
make && make install

编译mcrypt可能会报错:configure: error: *** libmcrypt was not found

vi  /etc/ld.so.conf    #最后一行添加
/usr/local/lib/
#保存退出
ldconfig    #载入

开始编译php

cd /usr/local/src
wget http://cn2.php.net/distributions/php-7.1.14.tar.gz
tar zxvf php-7.1.14.tar.gz
cd php-7.1.14
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc 
--enable-fpm --with-fpm-user=www --with-fpm-group=www --with-mysql=mysqlnd 
--with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv=/usr/local/libconv-1.14 
--with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr 
--enable-xml --disable-rpath --enable-magic-quotes --enable-safe-mode --enable-bcmath 
--enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl 
--with-curlwrappers --enable-mbregex --enable-mbstring --with-mcrypt --enable-ftp 
--with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl 
--enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear 
--with-gettext --disable-fileinfo --enable-maintainer-zts
make && make install

--prefix=/usr/local/php : 表示将php安装到/usr/local/php目录

--with-config-file-path=/usr/local/php/etc : 表示将php配置文件存放在/usr/local/php/etc 
-with-pdo-mysql : 需要安装mysql原生模块
--with-mysqli : 需要安装mysql 增强模块

--enable-fpm : 需要安装fpm模块,这个很重要,需要它才能打通nginx

如果出现 resinstall iconv

cd /usr/local/src/php-7.1.14 
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm 
--with-fpm-user=www --with-fpm-group=www --with-mysql=mysqlnd --with-mysqli=mysqlnd 
--with-pdo-mysql=mysqlnd --with-iconv-dir --with-freetype-dir --with-jpeg-dir 
--with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath 
--enable-magic-quotes --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem 
--enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex 
--enable-mbstring --with-mcrypt --enable-ftp --with-gd --enable-gd-native-ttf 
--with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc 
--enable-zip --enable-soap --without-pear --with-gettext --disable-fileinfo 
--enable-maintainer-zts
make && make install

没错误就安装成功了。

#修改fpm配置php-fpm.conf.default文件名称
mv /usr/local/php/etc/php-fpm.conf.default    /usr/local/php/etc/php-fpm.conf
#复制php.ini配置文件
cp /usr/local/php/etc/php.ini-production    /usr/local/php/etc/php.ini
#复制www.conf配置文件
cp /usr/local/php/etc/php-fpm.d/www.conf.default    /usr/local/php/etc/php-fpm.d/www.conf
#复制php-fpm启动脚本到init.d
cp sapi/fpm/init.d.php-fpm  /etc/init.d/php-fpm
#赋予执行权限
chmod +x /etc/init.d/php-fpm
#添加为启动项
chkconfig --add php-fpm
#设置开机启动
chkconfig php-fpm on


#给php-fpm创建一个指定的用户和组
#创建群组
groupadd www
#创建一个用户,不允许登陆和不创主目录 
useradd -s /sbin/nologin -g www -M www

将7.1版本的php添加到环境变量(如果不添加,默认是5.3版本)

#修改/etc/profile文件
vi /etc/profile
 
#在文件末尾的 PATH=/usr/local/mysql/bin:$PATH 后面再加PHP的命令目录 
PATH=/usr/local/mysql/bin:$PATH:/usr/local/php/bin
#让配置生效
source /etc/profile

#立即启动php-fpm
service php-fpm start  或者  /etc/init.d/php-fpm start

php安装完成。

nginx安装

1、安装pcre,zlib

yum install -y pcre pcre-devel
yum install -y zlib zlib-devel

2、创建网站根目录

mkdir -p   /var/www/root/
chmod -R 775 /var/www/root/

3、下载nginx编译安装

cd /usr/local/src
wget http://nginx.org/download/nginx-1.12.2.tar.gz
tar zxvf  nginx-1.12.2.tar.gz
cd nginx-1.12.2
./configure \--user=www \--group=www \--prefix=/usr/local/nginx \--with-http_v2_module \--with-http_ssl_module \--with-http_sub_module \--with-http_stub_status_module \--with-http_gzip_static_module \--with-pcre \--with-threads
make && make install
#验证
/usr/local/nginx/sbin/nginx -V

4、配置nginx开启php支持

#在server段中开启php支持
cd /usr/local/nginx
vi conf/nginx.conf

以  location  / { 开头的改为如下所示

location / {
   root   /var/www/root;
   index  index.html index.htm;
}

以  location ~ \.php$  开头的改成如下所示

location ~ \.php$ {
    root       /var/www/root;        #自定义网站根目录
    autoindex_exact_size off;         #文件大小从KB开始显示
    autoindex_localtime on;           #显示文件修改时间为服务器本地时间 
    fastcgi_pass   127.0.0.1:9000;    #需要开启
    fastcgi_index  index.php;         #需要开启
    fastcgi_param  SCRIPT_FILENAME   $document_root$fastcgi_script_name;  
    include        fastcgi_params;    #需要开启
}

修改完,重启nignx    /usr/local/nginx/sbin/nginx -s reload

测试是否搭建成功:先放个文档index.html到网站目录/var/www/root

再用命令 curl http://127.0.0.1/index.html  查看文档内容是否可以显示出来,正确显示则安装成功。

相关命令:

启动nginx    /usr/local/nginx/sbin/nginx
停止nginx    /usr/local/nginx/sbin/nginx -s stop
重启nginx    /usr/local/nginx/sbin/nginx -s reload

关闭ngixn

pkill -9 nginx

参数解释

-s stop 快速停止nginx

-s quit 平滑停止nginx

-s reopen 重新打开日志文件

-s reload 平滑重载所有配置

5、开启80端口

vi  /etc/sysconfig/iptables

将22端口的规则复制一行,把22改为80 ,保存退出.

重启防火墙  /etc/init.d/iptables restart。开放80端口后,其他机器就可以访问该网站了。
 

到此基本完成这个流程。
 

参考:https://www.cnblogs.com/syouth/p/6853261.html

参考:http://blog.csdn.net/xcg132566/article/details/79161756

原文地址:CentOS 6.5 编译安装 LNMP环境

猜你喜欢

转载自blog.csdn.net/cool16/article/details/83861518