CentOS 编译安装 LNMP 环境指南
一、系统环境准备
1、更新系统信息:
uname r uname a cat /etc/redhatrelease
确认操作系统版本,确保为 CentOS 7.x。
2、关闭防火墙:
systemctl stop firewalld.service systemctl disable firewalld.service
注意:生产环境中请根据需要配置防火墙规则。
3、配置网络信息:
编辑/etc/sysconfig/networkscripts/ifcfgens32
文件,设置静态 IP 地址等信息。
4、更改主机名称(如需要):
vi /etc/hostname
5、更新 YUM 源:
备份并替换默认的 YUM 源列表,例如使用阿里云的镜像源:
mv /etc/yum.repos.d/CentOSBase.repo /etc/yum.repos.d/CentOSBase.repo.backup wget O /etc/yum.repos.d/CentOSBase.repo http://mirrors.aliyun.com/repo/Centos7.repo yum makecache
6、重启系统:
init 6
二、安装基础工具与依赖
1、安装下载工具 wget:
yum install wget y
2、安装文件传输工具 lrzsz:
yum install y lrzsz
3、安装编译工具 GCC 和 G++:
yum install y gcc gccc++
4、安装解压工具 bzip2:
yum install bzip2 y
三、下载软件包
将以下命令保存到一个脚本文件中执行,或者逐条手动执行:
cd /usr/local/src/ wget c http://nginx.org/download/nginx1.16.0.tar.gz wget c http://mirrors.163.com/mysql/Downloads/MySQL8.0/mysql8.0.16.tar.gz wget c https://www.php.net/distributions/php7.3.5.tar.bz2
解压软件包:
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、进入 Nginx 解压目录:
cd /usr/local/src/nginx1.16.0
3、安装依赖包:
yum install y pcredevel openssl openssldevel
4、编译安装 Nginx:
./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 jgrep 'processor' /proc/cpuinfo |wc l
&& make install
5、查看版本:
/usr/local/nginx/sbin/nginx v
6、修改配置文件:
备份原始配置文件,并根据需要进行修改,例如监听端口、日志路径等。
五、编译安装 PHP
1、进入 PHP 解压目录:
cd /usr/local/src/php7.3.5
2、安装依赖包:
yum install y libxml2 libxml2devel autoconf libjpeg libjpegdevel libpng libpngdevel freetype freetypedevel zlib zlibdevel glibc glibcdevel glib2 glib2devel
3、配置 PHP 编译选项:
./configure prefix=/usr/local/php7.3 withconfigfilepath=/usr/local/php7.3/etc enablembstring withlibxmldir=/usr enablesoap withcurl withzlib withgd withpdosqlite withpdomysql withmysqli withmysqlsock enablemysqlnd disablerpath enableinlineoptimization withbz2 withzlib enablesockets enablesysvsem enablesysvshm enablepcntl enablembregex enableexif enablebcmath withmhash enablezip withpcreregex enableftp withkerberos withxmlrpc withfpmuser=www disablefileinfo enablecgi enablefpm
4、编译并安装 PHP:
make && make install
5、配置 PHPFPM:
复制并编辑phpfpm.conf
和www.conf
,设置合适的监听地址和端口。
6、启动 PHPFPM:
/usr/local/php7.3/sbin/phpfpm
六、编译安装 MySQL
1、创建运行用户及组:
groupadd r mysql && useradd r g mysql s /sbin/nologin d /usr/local/mysql M mysql
2、进入 MySQL 解压目录:
cd /usr/local/src/mysql8.0.16
3、安装依赖包:
yum install y ncursesdevel libaiodevel openssldevel
4、配置并编译安装 MySQL:
cmake . DCMAKE_INSTALL_PREFIX=/usr/local/mysql DMYSQL_DATADIR=/data/mysql DSYSCONFDIR=/etc \
DDEFAULT_CHARSET=utf8mb4 DDEFAULT_COLLATION=utf8mb4_general_ci DWITH_INNODB_STORAGE_ENGINE=1 \
DWITH_ARROW_SORT_MYISAM=1 DWITH_BOOST=/usr/include DWITH_READLINE=1 DENABLED_LOCAL_INFILE=1 \
DDOWNLOAD_BOOST=1 DWITH_SSL=system DOPENSSL_CRYPTO=/usr/include DOPENSSL_SSL=/usr/include \
DWITH_ZLIB=system DENABLED_PROFILING_LIBRARY=1 DMYSQLX_COMMUNICATION_PROTOCOLS=NAMED_PIPE,TCPIP_SOCKET \
DMYSQLX_ENABLED_PROTOCOLS=TCPIP_SOCKET DWITH_EXTRA_CHARSETS=all DWITH_DEBUG=0 DMYSQL_USER=mysql
make jgrep 'processor' /proc/cpuinfo |wc l
&& make install
5、添加 MySQL 到环境变量:
echo ‘PATH=/usr/local/mysql/bin:$PATH’ >> /etc/profile.d/mysql.sh source /etc/profile.d/mysql.sh
6、启动 MySQL:
/usr/local/mysql/supportfiles/mysql.server start
七、配置 Nginx+PHP+MySQL
1、配置 Nginx:编辑 Nginx 配置文件,添加 PHP 处理规则,并指向 PHPFPM。
2、配置 PHPFPM:确保phpfpm.conf
和www.conf
中的相关设置正确。
3、配置 MySQL:初始化数据库,并创建应用所需的数据库和用户。
4、重启服务:分别重启 Nginx、PHPFPM 和 MySQL,使配置生效。
完成以上步骤后,LNMP 环境即成功搭建在 CentOS 上,在实际部署过程中,可能需要根据具体需求调整配置和优化参数。