清理已经安装包
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环境