Centos7 下 编译安装 LNMP

本文记录了在CentOS7系统中编译安装LNMP(Nginx、MySQL、PHP)的详细步骤,包括依赖安装、源码下载、编译配置、服务启动和设置开机自启动等关键环节,以及遇到问题的解决方法。
摘要由CSDN通过智能技术生成

       我又回来了,感觉自己还是太懒了,好久没写博客了,这次要把前阵子参考网上编译安装 lnmp 的教程然后结合自己在此过程中遇到的问题进行下总结,记录。

      我以前一直是直接 yum 安装的,系统是 centos7,所以想尝试下编译安装,了解下具体的安装过程,还是很有必要的。lnmp 主要是指 linux + nginx + mysql + php,现在已经是在 linux 系统下了,所以要安装配置的是 nginx + mysql + php 了,下面是具体步骤:

1、安装 nginx:

先安装 nginx 的依赖:

yum -y install gcc gcc-c++ openssl openssl-devel cyrus-sasl-md5

接着安装 nginx,我把下载下来的软件包都放在 /usr/local/src 目录下,可自主选择。

为了避免上传文件到服务器的过程,所以直接使用 wget 进行下载,方便。

先下载 pcre 和 zlib:

wget https://downloads.sourceforge.net/project/pcre/pcre/8.42/pcre-8.42.tar.gz
wget http://www.zlib.net/fossils/zlib-1.2.11.tar.gz

再到 nginx 官网下载 nginx 包:

wget http://nginx.org/download/nginx-1.14.2.tar.gz

下载完成后进行解压:

tar -zxvf nginx-1.14.2.tar.gz
tar -zxvf pcre-8.42.tar.gz
tar -zxvf zlib-1.2.11.tar.gz

之后进入解压目录进行编译(解压后当前目录下会有 configure 文件,--prefix 配置安装的路径(位置),--with-pcre和--with-zlib分别是上面下载解压的 pcre 和 zlib 包的路径):

cd nginx-1.14.2
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-pcre=../pcre-8.42 --with-zlib=../zlib-1.2.11

编译完成就进行构建和安装:

make 
make install
或者
make && make install

安装完毕后得使用绝对路径启动 nginx 服务:

/usr/local/nginx/sbin/nginx
#查看服务状态
ps -ef | grep nginx

成功开启 nginx 服务的效果图类似下面:

直接在浏览器地址栏输入服务器 ip 或 域名即可访问,得到如下图的结果即正常:

现在启动 nginx 需要使用绝对路径,比较麻烦,所以将 nginx 的启动命令(路径)配置到系统全局变量文件(/etc/profile)内即可。在文件底部添加:(使用分号":"分割之前的系统变量)

export PATH="$PATH:/usr/local/nginx/sbin"

保存退出后执行以下语句是配置生效:

source /etc/profile

现在就可以直接使用 nginx 命令启动 nginx 服务了。

nginx -s reload #重启nginx服务
nginx -t #测试nginx配置文件是否正常

将 nginx 服务添加到开机自启动:

系统启动脚本 /etc/rc.local ,这个文件是系统启动后会自动执行的。进入此文件添加如下语句》

#启动命令和 -c 配置文件的路径
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf &

重启服务器再使用如下命令查看 nginx 服务是否启动:

ps -ef | grep nginx
#如若未正常启动,则可能是该文件执行权限问题,可以给文件添加其他人执行的权限:
chmod o+x /etc/rc.local,之后重启服务器试试。

正常效果图如下:

当使用 nginx -s reopen 会报如下错误的时候可以如下图解决:

nginx.conf 配置文件去掉下图 pid 前的注释符号"#",保存退出 :wq。

再执行 nginx -s reopen 未出现上述错误即可。

2、安装 php

第一步也是安装必要的依赖:

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

执行后如果出现错误类似(https://blog.csdn.net/zhuxiang203/article/details/38779779),意思是存在多个库版本,我这边是 glib2 多了个 32 位的版本,而系统是 64 位的,因此需要将其删除。大家根据具体提示进行删除。

#使用此命令查看发现 glib2 确实存在多个版本
rpm -qa|grep glib2
#删除上面命令执行结果中不需要的版本
rpm --erase --nodeps glib2-2.46.2-4.el7.i686

删除不

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值