使用WordPress搭建一个网站

用 wordpress 搭建一个网站,我们需要使用的工具有:nginx + php + mysql + wordpress

首先下载最新的 wordpress ,解压得到我们网站的根目录,将它放到合适的位置。在下载页面查看当前 wordpress 版本所要求的 mysql & php 版本。

安装 nginx ,按照官网的 安装指导 进行安装最新版本,要是嫌麻烦,就直接 sudo apt install nginx 即可。

安装 mysql,apt-cache policy mysql-server 可以查看当前 apt 提供的 mysql 版本号,如果满足条件,则直接 apt install mysql-server 进行安装即可。官网添加软件源进行按照的操作步骤在 这篇文章 中。

安装 php,当前 apt 提供的版本低于 wordpress 要求的版本,所以去 官网 下载最新的版本,进行编译安装。在 VPS 一直编译报错,所以通过添加源来进行安装,相关的操作步骤参考 这篇文章

安装 php 相关的扩展:

apt install php7.3-fpm php7.3-mysql php7.3-curl php7.3-json php7.3-mbstring php7.3-xml php7.3-intl

修改 nginx 的配置:(配置文件路径:/etc/nginx/conf.d/default.conf)

1、修改网站的根目录

location / {
    # 这里修改为 wordpress 所在的目录
    root   /opt/wordpress;
    # 这里添加 index.php
    index  index.php index.html index.htm;
}

2、打开 php 页面解析转发到 php-fpm

# 这里配置文件中默认注释掉了,去掉注释
location ~ \.php{      root           html;      fastcgi_pass   127.0.0.1:9000;      fastcgi_index  index.php;      # 此处修改 php 脚本路径,即 wordpress 所在路径      fastcgi_param  SCRIPT_FILENAME  /opt/wordpress/fastcgi_script_name;
    include        fastcgi_params;
}

3、修改用户(配置文件路径:/etc/nginx/nginx.conf)

# 注意保持与 php-fpm 的用户名一致
user www-data;

(修改完 nginx 配置后,可以通过 nginx -t -c /etc/nginx/nginx.conf 来检查配置是否正常)

修改 php-fpm 配置:(配置文件路径:/etc/php/7.3/fpm/pool.d/www.conf

; 将这里监听的接口改为 127.0.0.1:9000
;listen = /run/php/php7.3-fpm.sock
listen = 127.0.0.1:9000

修改 wordpress 目录的用户和用户组,保持跟 nginx & php-fpm 所使用的用户和用户组一致,否则会报访问权限的问题:

chown www-data /opt/wordpress
chgrp www-data /opt/wordpress

创建 mysql 数据库:

# 登录 mysql,默认安装后没有密码
mysql -u root
# 创建 table
CREATE DATABASE wordpress;
# 创建用户 wp, 密码 123
CREATE USER 'wp'@'localhost' IDENTIFIED BY '123';
# 授权 wordpress 给 wp 用户
GRANT ALL ON wordpress.* TO 'wp'@'localhost';

启动网站:

service nginx start
service php-fpm start

访问网站,按照提示填写 wordpress 的相关配置。

让 nginx 支持 wordpress 的固定链接

/etc/nginx/conf.d/default.conf 添加如下配置:

    location / {
  # 添加对链接地址的转换
       if (-f $request_filename/index.html) {
          rewrite (.*) $1/index.html break;
      }

       if (-f $request_filename/index.php) {
          rewrite (.*) $1/index.php;
      }

       if (!-f $request_filename) {
          rewrite (.*) /index.php;
      }

      root   /opt/wordpress;
      index index.php index.html index.htm;
  }

配置 nginx 支持 https

首先确保 nginx 是否开启了 ssl:nginx -V 中查看是否有 --with-http_ssl_module

要想 nginx 支持 https,首先我们需要一个 ssl 证书,这个证书可以在云服务器提供商进行免费申请。以阿里云为例,申请证书时,需要验证,选择手动 DNS 验证(因为我没有使用阿里的 DNS 解析)。按照提示,添加对应的 DNS 解析,完成域名的验证。然后就等待 CA 发证书啦。

证书生成之后,下载到服务器。并解压,得到 .pem & .key 的2个文件。在 nginx 配置中,添加如下信息:

server {
  listen       80;
  listen       443 ssl;
  server_name domain.com; # 填入你的域名
  ssl_certificate /root/xxxx.pem; # 申请到的证书
  ssl_certificate_key /root/xxxx.key; # 申请到的证书
  ……
  ……
}

重启 nginx ,就可以通过 https 进行访问了。不过这样每次都需要手动输入 https 才会使用 https。接下来配置 http 自动跳转到 https。

修改配置文件如下:

server {
listen 443 ssl;
server_name domain.com; # 填入你的域名
ssl on;
ssl_certificate /root/xxxx.pem; # 申请到的证书
ssl_certificate_key /root/xxxx.key; # 申请到的证书
……
……
}
server {
listen 80;
server_name 域名;
rewrite ^ https://host1 permanent;
}

《使用WordPress搭建一个网站》有一个想法

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据