一、环境准备 [root@Server ~]# cat /etc/centos-release CentOS Linux release 7.6.1810 (Core) [root@Server ~]# uname -r 3.10.0-957.10.1.el7.x86_64
关闭防火墙 systemctl stop firewalld.service
关闭防火墙开机启动 systemctl disable firewalld.service
关闭SELINUX (重启生效) sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
二、增加nginx源 #vi /etc/yum.repos.d/nginx.repo
源的内容
[nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=0 enabled=1
查看源是否配置成功 yum list nginx yum list |grep nginx
更新源 rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
三、下载lnmp软件包 安装lnmp服务 yum install -y nginx mariadb-server php72w-common php72w-fpm php72w-mysql php72w-pdo php72w-gd
四、编写nginx配置文件 vi /etc/nginx/conf.d/default.conf
location / {
root /usr/share/nginx/html;
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=/$1 last; break; } index index.php index.html index.htm;
上面增加index.php 增加if段 为了url write
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script
_name;
include fastcgi_params;
}
去除所有#注释 修改为绝对路径 /usr/share/nginx/html
启动lnmp服务 systemctl start nginx.service mariadb.service php-fpm.service 加入开机启动 systemctl enable nginx.service mariadb.service php-fpm.service 检查是否启动 [root@Server ~]# netstat -lntup Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 15807/php-fpm: mast tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 16056/mysqld
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 15811/nginx: master tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 6583/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 7105/master
tcp6 0 0 :::22 :::* LISTEN 6583/sshd
tcp6 0 0 ::1:25 :::* LISTEN 7105/master
udp 0 0 127.0.0.1:323 0.0.0.0:* 6066/chronyd
udp6 0 0 ::1:323 :::* 6066/chronyd
创建info.php
echo '<?php phpinfo();?>' >>/usr/share/nginx/html/info.php
测试 http://127.0.0.1/info.php
重启nginx服务 systemctl restart nginx.service
yum remove php*
[root@Server ~]# mysqladmin -u root -p password 123456 Enter password: 如果原密码为空 直接回车 123456为新密码
wget https://files.phpmyadmin.net/phpMyAdmin/4.8.5/phpMyAdmin-4.8.5-all-languages.zip cd /var/lib/php/ mkdir session chmod -R 777 php
关于URL重写 对于Apache服务器,请确保
httpd.conf配置文件中加载了mod_rewrite.so模块 AllowOverride None 将None改为 All` 项目目录下的.htaccess已经配置好重写规则,如有需求酌情修改.
对于Nginx服务器,以下是一个可供参考的配置:
location / { if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=/$1 last; break; } } 如果你的应用安装在二级目录,Nginx的伪静态方法设置如下,其中youdomain是所在的目录名称。
location /youdomain/ { if (!-e $request_filename){ rewrite ^/youdomain/(.*)$ /youdomain/index.php?s=/$1 last; } }
chmod -R 777 /usr/share/nginx/html/wordpress/