在centos系统中编译安装LNMP(Linux + Nginx + MySQL + PHP),可以按照以下步骤进行:
系统环境准备
1、系统信息查看:

uname r
:显示内核版本,如3.10.0957.el7.x86_64。
uname a
:显示系统详细信息,包括操作系统名称、内核版本等。
cat /etc/redhatrelease
:显示操作系统版本,如CentOS Linux release 7.6.1810 (Core)。
2、关闭防火墙:
将SELINUX的值改为disabled:vim /etc/selinux/config
。
停止并禁用firewalld服务:systemctl stop firewalld.service
和systemctl disable firewalld.service
。

3、配置网络地址:
编辑/etc/sysconfig/networkscripts/ifcfgens32
文件,配置静态IP地址、网关、DNS等。
4、更改主机名称:
将默认的localhost.localdomain更改为需要的主机名称:vi /etc/hostname
。
5、更新yum源:
备份原yum源配置文件:mv /etc/yum.repos.d/CentOSBase.repo /etc/yum.repos.d/CentOSBase.repo.backup
。

下载新的CentOSBase.repo到/etc/yum.repos.d/。
生成缓存:yum makecache
。
6、重启系统:
init 6
或reboot now
。
安装依赖包和工具
1、安装下载工具:
yum install wget y
。
2、安装文件传输工具:
yum install y lrzsz
。
3、安装编译环境:
yum install y gCC gccc++
。
4、安装解压软件:
yum install bzip2 y
。
下载并解压软件包
1、进入指定目录:
cd /usr/local/src/
。
2、下载软件包:
Nginx:wget c http://nginx.org/download/nginx1.16.0.tar.gz
。
MySQL:wget c http://mirrors.163.com/mysql/Downloads/MySQL8.0/mysql8.0.16.tar.gz
。
PHP:wget c https://www.php.net/distributions/php7.3.5.tar.bz2
。
3、解压软件包:
for i in *.tar.gz; do tar xvf $i; done && tar jxvf *.bz2
。
编译安装Nginx
1、创建运行账户及组:
groupadd r nginx && useradd r g nginx s /sbin/nologin d /usr/local/nginx M nginx
。
2、进入解压目录:
cd /usr/local/src/nginx1.16.0
。
3、安装依赖包:
yum install y pcredevel openssl openssldevel
。
4、配置并编译安装:
./configure prefix=/usr/local/nginx user=nginx group=nginx withhttp_ssl_module withhttp_realip_module withhttp_stub_status_module withhttp_sub_module withstream withstream=dynamic
。
make j
grep 'processor' /proc/cpuinfo |wc l` && make install
。
5、查看版本:
/usr/local/nginx/sbin/nginx v
。
6、修改配置文件:
备份原配置文件:cp /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.back
。
替换为自定义配置(根据实际需求修改)。
编译安装MySQL
1、添加用户和组:
groupadd mysql
。
useradd g mysql mysql s /bin/false
。
2、创建数据目录并设置权限:
mkdir p /data/mysql
。
chown R mysql:mysql /data/mysql
。
3、创建安装目录:
mkdir p /usr/local/mysql
。
4、解压并进入MySQL目录:
tar zxvf mysql5.5.25.tar.gz
。
cd mysql5.5.25
。
5、配置并编译安装:
cmake . DCMAKE_INSTALL_PREFIX=/usr/local/mysql DMYSQL_DATADIR=/data/mysql DSYSCONFDIR=/etc
。
make
。
make install
。
6、复制配置文件:
cp ./supportfiles/myhuge.cnf /etc/my.cnf
。
7、编辑配置文件:
根据实际需求修改配置文件内容。
编译安装PHP
1、下载并解压PHP:
wget c https://www.php.net/distributions/php7.3.5.tar.bz2
。
tar jxvf php7.3.5.tar.bz2
。
2、进入PHP目录:
cd php7.3.5
。
3、配置并编译安装:
./configure prefix=/usr/local/php enablefpm withmysqli withpdomysql withopenssl withcurl withmbstring withxml enablembregex withzlib
。
make j $(nproc)
。
make install
。
4、复制配置文件:
cp php.iniproduction /usr/local/php/etc/php.ini
。
5、启动PHPFPM:
/usr/local/php/sbin/phpfpm
。
FAQs
1、Q: 为什么需要关闭SELinux?
A: SELinux可能会阻止某些服务的正常访问,为了简化安装过程,建议在测试环境中临时关闭SELinux,在生产环境中,应根据实际需求配置SELinux策略。
2、Q: 如何确认Nginx、MySQL和PHP是否安装成功?
A: 可以通过命令行分别检查它们的版本信息来确认是否安装成功,对于Nginx,可以运行nginx v
;对于MySQL,可以运行mysql V
;对于PHP,可以运行php v
。