LNMP环境搭建(Linux+Nginx+MySql+Php)
查看是否已安装wget:
rpm -qa wget 或 rpm -qa | grep wget
否则安装:
yum install wget
查看是否已安装编译器:
rpm -qa gcc 或 rpm -qa | grep gcc
否则安装:
yum install gcc gcc-c++
安装mysql
卸载已有mysql
查看是否已安装mysql:
rpm -qa | grep mysql
有则卸载:
rpm -e mysql // 普通删除模式
rpm -e --nodeps mysql // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除
使用 yum 命令安装 MySQL,安装前我们需要先去官网下载 Yum 资源包
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum update
yum install mysql-server
权限设置:
chown mysql:mysql -R /var/lib/mysql
初始化 MySQL:
mysqld --initialize
启动 MySQL:
service mysqld start
查看 MySQL 运行状态:
service mysqld status
默认无密码,直接mysql进入

使用Navicat连接时报10038错误
防火墙问题没有开放3306端口(Centos7中防火墙由firewalld管理)
firewall-cmd --permanent --zone=public --add-port=3306/tcp (--permanent 永久生效,没有此参数重启后失效)
firewall-cmd --reload (重新载入)
这时还会因为权限问题无法Navicat远程连接到mysql
1. 新建用户给与权限
grant all privileges on 数据库.* to 用户名@登录主机 identified by ’用户密码′;
flush privileges;
安装Nginx
安装nginx依赖包
nginx的Rewrite模块和HTTP核心模块会使用到PCRE正则表达式语法:
yum -y install pcre pcre-devel
nginx的各种模块中需要使用gzip压缩:
yum -y install zlib zlib-devel
安全套接字层密码库:
yum -y install openssl openssl-devel
下载nginx包并解压(到/usr/local/src目录中)
cd /usr/local/src
wget http://nginx.org/download/nginx-1.16.1.tar.gz
tar -zxvf nginx-1.16.1.tar.gz
编译安装(到/usr/local/nginx目录中)
cd nginx-1.1.10
./configure --prefix=/usr/local/nginx
make
make install
创建并设置nginx运行账号:
groupadd nginx
useradd -M -g nginx -s /sbin/nologin nginx
cd /usr/local/nginx/conf
vi nginx.conf,设置user参数如下:
user nginx nginx

修改项目目录:(/app/wwwroot/default)

/usr/local/nginx/sbin/nginx -t

/usr/local/nginx/sbin/nginx -v

启动Nginx
/usr/local/nginx/sbin/nginx
ps -aux | grep nginx (查看nginx状态)

安装php
安装php依赖包
yum install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel
下载软件包
cd /usr/local/src
wget https://www.php.net/distributions/php-7.3.17.tar.gz
tar -zxvf php-7.2.30.tar.gz
编译安装
cd php-7.2.30
./configure --prefix=/usr/local/php --disable-fileinfo --enable-fpm --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-openssl --with-zlib --with-curl --enable-ftp --with-gd --with-xmlrpc --with-jpeg-dir --with-png-dir --with-freetype-dir --enable-gd-native-ttf --enable-mbstring --with-mcrypt=/usr/local/libmcrypt --enable-zip --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-mysql-sock=/var/lib/mysql/mysql.sock --without-pear --enable-bcmath
make
make install
将php包解压目录中的配置文件放置到正确位置(configure命令中的--with-config-file-path设置的位置)
cp php.ini-development /etc/php.ini
创建并设置php-fpm运行账号
groupadd www
useradd -M -g www -s /sbin/nologin www
cd /usr/local/php/etc
cp php-fpm.conf.default php-fpm.conf
vi php-fpm.conf
搜索不到user,但文件最后一行

cd php-fpm.d
cp www.conf.default www.conf
vi www.conf
搜索user,设置账户

配置nginx支持php
vi /usr/local/nginx/conf.nginx.conf

修改完成后重启nginx服务
设置php-fpm为系统服务
vi /etc/systemd/system/php-fpm.service
文件内容:
[Unit]
Description=php-fpm
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/php/sbin/php-fpm
PrivateTmp=True
[Install]
WantedBy=multi-user.target
设置php-fpm服务开机自启
systemctl enable php-fpm.service
启动php-fpm
systemctl start php-fpm.service
查看是否启动成功

测试nginx是否支持php
cd /app/wwwroot/default(移动到项目目录下)
vi index.php
文件内容:
<?php
phpinfo();
?>
网址打开

LNMP环境搭建完成!



微信扫一扫,打赏作者吧~
