简介

Ubuntu 20.04上使用Nginx快速部署WordPress的完整指南

WordPress是一个以PHP和MySQL为平台的自由开源的博客软件和内容管理系统。WordPress具有插件架构和模板系统。截至2018年4月,排名前1000万的网站中超过30.6%使用WordPress。WordPress是最受欢迎的网站内容管理系统。全球有大约43%的网站都是使用WordPress架设网站的。WordPress是目前因特网上最流行的博客系统。WordPress在最著名的网络发布阶段中脱颖而出。如今,它被使用在超过7000万个站点上。

本文旨在 Ubuntu 系统上基于 Nginx 部署 WordPress

前提条件

准备好 Ubuntu 20.04 系统

做好系统的备份

安装 Nginx

[danger]sudo apt-get install nginx -y[/danger]

查看 Nginx 运行状态

[danger]sudo systemctl status nginx[/danger]

启动 Nginx

[danger]sudo systemctl start nginx[/danger]

配置 Nginx 开机自启

[danger]sudo systemctl enable nginx[/danger]

安装 MariaDB

[danger]sudo apt-get install mariadb-server[/danger]

启动 MariaDB

[danger]sudo systemctl start mariadb[/danger]

配置 MariaDB 开机自启

[danger]sudo systemctl enable mariadb[/danger]

运行以下命令以提高数据库安全性

[danger]sudo mysql_secure_installation[/danger]

安装 PHP

[danger]sudo apt-get install php7.4 php7.4-fpm php7.4-cli php7.4-mysql php7.4-json php7.4-opcache php7.4-gd php7.4-curl[/danger]

创建 WordPress 本地数据库

[danger]sudo mysql -u root -p[/danger]

创建一个名为 wordpress_db 的数据库

[danger]CREATE DATABASE wordpress_db[/danger]

创建一个名为 wordpress_user 的用户,并赋予了他对 wordpress_db 数据库的所有权,并设置

了 wordpress_user 的密码为 password。(请填写自己的密码)

[danger]

GRANT ALL PRIVILEGES ON wordpress_db.* TO ‘wordpress_user’@’localhost’ IDENTIFIED BY ‘password’

FLUSH PRIVILEGES;

[/danger]

退出

[danger]exit[/danger]

编辑 Nginx 文件

创建 WordPress 根目录(路径任意)

[danger]sudo mkdir /www/wwwroot/blog.sevenen.cn/wordpress[/danger]

创建 WordPress 的 Nginx 文件

[danger]sudo nano /etc/nginx/sites-available/wordpress.conf[/danger]

[danger]

server {
listen 80;
server_name SUBDOMAIN.DOMAIN.TLD;
location / {
return 301 https://$host$request_uri;
}
}

server {
listen 443 ssl;
server_name SUBDOMAIN.DOMAIN.TLD;

ssl_certificate /etc/nginx/ssl/SUBDOMAIN.DOMAIN.TLD.crt; # 你的证书路径
ssl_certificate_key /etc/nginx/ssl/SUBDOMAIN.DOMAIN.TLD.key; # 你的私钥路径

root /www/wwwroot/blog.sevenen.cn/wordpress;
index index.php index.html;

access_log /var/log/nginx/www.access.log;
error_log /var/log/nginx/www.error.log;

location / {
try_files $uri $uri/ /index.php?$args;
}

location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
}

location ~ /\.ht {
deny all;
}

location = /favicon.ico {
log_not_found off;
access_log off;
}

location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}

location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
expires max;
log_not_found off;
}
}

[/danger]

注意:替换 SUBDOMAIN.DOMAIN.TLD 为你的域名

检查上述配置文件的正确性

[danger]nginx -t[/danger]

创建符号链接

[danger]cd /etc/nginx/sites-enabled
sudo ln -s ../sites-available/wordpress.conf[/danger]

重新加载 Nginx

[danger]sudo systemctl reload nginx[/danger]

下载并配置 WordPress

[danger]cd /www/wwwroot/blog.sevenen.cn/wordpress[/danger]

使用 wget 工具从 WordPress 的官方网站下载最新的中文版 WordPress 安装包

[danger]sudo wget https://cn.wordpress.org/latest-zh_CN.tar.gz[/danger]

解压刚刚下载的 WordPress 安装包

[danger]sudo tar -zxvf latest-zh_CN.tar.gz[/danger]

将解压后的 WordPress 文件移动到当前目录

[danger]sudo mv wordpress/*[/danger]

删除解压后的空 WordPress 文件夹和原始的安装包
[danger]sudo rm -rf wordpress latest-zh_CN.tar.gz[/danger]

更改文件所有权并且应用权限给 WordPress 所有文件

[danger]cd /www/wwwroot/blog.sevenen.cn
sudo chown -R www-data:www-data *
sudo chmod -R 755 *[/danger]

配置 wp-config.php 文件

[danger]cd /www/wwwroot/blog.sevenen.cn/wordpress
sudo mv wp-config-sample.php wp-config.php
sudo nano wp-config.php[/danger]

在wp-config.php文件中找出并更改以下内容
[danger]define(‘DB_NAME’, ‘wordpress_db’);
define(‘DB_USER’, ‘wordpress_user’);
define(‘DB_PASSWORD’, ‘Password!’);

define( ‘AUTH_KEY’, ‘put your unique phrase here’ );
define( ‘SECURE_AUTH_KEY’, ‘put your unique phrase here’ );
define( ‘LOGGED_IN_KEY’, ‘put your unique phrase here’ );
define( ‘NONCE_KEY’, ‘put your unique phrase here’ );
define( ‘AUTH_SALT’, ‘put your unique phrase here’ );
define( ‘SECURE_AUTH_SALT’, ‘put your unique phrase here’ );
define( ‘LOGGED_IN_SALT’, ‘put your unique phrase here’ );
define( ‘NONCE_SALT’, ‘put your unique phrase here’ );
…[/danger]

注意:为了保证网站的安全,通过 https://api.wordpress.org/secret-key/1.1/salt/ 生成安全密钥,粘贴在配置中。

安装并配置 WordPress

在浏览器中输入你的域名,根据 WordPress 设置指引完成最后的配置。

 

文章引用至友链:基于 Nginx 部署 WordPress 搭建属于自己的博客 – He’s Blog (sevenen.cn)

可参考我另一篇文章对wordpress性能进行优化:腾讯云edge one和redis对wordpress的优化过程。-Sereniblue