步骤

安装php7.2

  1. 安装php

    #安装yum必备工具 sudo yum install epel-release yum-utils #安装php7的安装源 sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm #配置php7安装源为7.2版本 sudo yum-config-manager --enable remi-php72 #安装必备php包 sudo yum install php-cli php-fpm php-mysql php-json php-opcache php-mbstring php-xml php-gd php-curl

因为我们选择了nginx作为服务器, 所以需要安装php-fpm.它相当于简易版服务器, 默认情况下它是以tcp协议监听9000端口. 所以我们对php-fpm进行配置, 让它能被nginx进行转发.

  1. 修改/etc/php-fpm.d/www.conf配置文件:

    #按这样修改就行,其他配置保持原样 user = nginx group = nginx listen = /run/php-fpm/www.sock listen.owner = nginx listen.group = nginx

因为linux强大的权限限制, 所以我们要更改/var/lib/php文件夹的所有者, 该文件夹包含了php的所有命令.

  1. 修改/var/lib/php的拥有组, 这样凡是nginx组的成员都能操作该文件夹

    sudo chown -R root:nginx /var/lib/php

  2. 重启php-fpm

    sudo systemctl enable php-fpm sudo systemctl start php-fpm

安装wordpress

  1. 下载最新安装包并解压

    sudo mkdir -p /usr/local/temp cd /usr/local/temp wget https://wordpress.org/latest.tar.gz tar xf latest.tar.gz

  2. 移动到自己喜欢的目录, 并修改该目录的权限

    mv /usr/local/temp/wordpress /usr/local/ sudo chown -R nginx:nginx /usr/local/wordpress

配置nginx

我默认你有ssl证书, 不知道怎么申请证书, 点我了解用acme申请证书, 我以域名example.com为例来讲解nginx配置:

#这个server就是监听80端口,当请求匹配到www.example.com和example.com, 重定向到https://www.example.com$request_uri. 
#$request_uri是nginx自带的变量, 代表了请求路径.
#例如https://example.com/abc/d.html, $request_uri是/abc/d.html
server {
    listen       80;
    server_name  www.example.com example.com;
    return 301 https://www.example.com$repquest_uri;
}

#这个server是监听443端口, 并启用HTTP2协议, 该协议是http1.1的升级版, 有助于性能提升. 当请求匹配example.com时, 重定向到https://www.example.com$request_uri
#剩下都是固定配置,就是证书的位置
server {
  listen  443 ssl http2;                     
  ssl_certificate       /root/my-tengxunyun/volumn/acme.sh/example.com/example.com.cer;
  ssl_certificate_key   /root/my-tengxunyun/volumn/acme.sh/example.com/example.com.key;
  ssl_protocols         TLSv1 TLSv1.1 TLSv1.2;
  ssl_ciphers           HIGH:!aNULL:!MD5;
  server_name           example.com
  return 301 https://www.example.com$request_uri;

 }

#这个server就是主要的,用来接收请求并转发
server {
    listen  443 ssl http2;
    # SSL parameters                   
    ssl_certificate       /root/my-tengxunyun/volumn/acme.sh/www.example.com/www.example.com.cer;
    ssl_certificate_key   /root/my-tengxunyun/volumn/acme.sh/www.example.com/www.example.com.key;
    ssl_protocols         TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers           HIGH:!aNULL:!MD5;
    # server_file_position
    server_name           www.example.com
    root                  /usr/local/wordpress;
    index                 index.php;         

    # log files
    access_log /var/log/nginx/example.access.log;
    error_log /var/log/nginx/example.error.log;

    #当请求时/favicon.ico文件时,关闭日志
    location = /favicon.ico {
        log_not_found off;
        access_log off;
    }
    #当请求是/robots.txt文件时,关闭日志
    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
    }
    #对所有请求进行拦截,先试着找$uri这个文件,如果不存在就找$uri/目录,实在找不到就找/index.php?$args.
    #$uri, $args是nginx内置的变量,对应请求的路径和参数
    location / {
        try_files $uri $uri/ /index.php?$args;
    }
    
    #如果还找不到,就匹配以.php结尾的文件,最终都找不到就报404错误
    location ~ \.php$ {
        try_files $uri =404;
        #这个就是nginx转发的地址,前面设置的php-fpm监听的地方
        fastcgi_pass unix:/run/php-fpm/www.sock;
        fastcgi_index   index.php;
        #这个设置php文件寻找的路径是$document_root$fastcgi_script_name,也是nginx内置的变量
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
    #对这些静态文件,关闭日志,并且设置能保存的最大期限
    location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
        expires max;
        log_not_found off;
    }
}
           

总结

这就是wordpress+nginx的全攻略, 剩下就是装个mysql数据库, 就能愉快玩耍了!

开启精彩搜索

历史搜索

用户名或邮箱
密码
用户名
密码
重复密码
邮箱
注册
找回密码
注册 登录
邮箱
邮箱验证码
发送验证码
59秒后可重发
新密码
重复密码
请选择支付方式
余额支付

购买将消耗【10

微信支付
微信扫码支付 0 元
[ 04分50秒 ]
请使用微信扫一扫
扫描二维码支付
支付宝支付
支付宝扫码支付 0 元
[ 04分50秒 ]
请使用支付宝扫一扫
扫描二维码支付
已完成支付
未完成支付

请输入验证码

点击验证码可以刷新

你确认吗?

确认

2024年10月1日

新增

新增