简介
Ubuntu 上使用 Nginx 快速部署 WordPress 的完整指南
WordPress 是一个以 PHP 和 MySQL 为平台的自由开源的博客软件和内容管理系统。WordPress 具有插件架构和模板系统。截至2018年4月,排名前1000万的网站中超过30.6%使用 WordPress。WordPress 是最受欢迎的网站内容管理系统。全球有大约43%的网站都是使用 WordPress 架设网站的。WordPress 是目前因特网上最流行的博客系统。WordPress 在最著名的网络发布阶段中脱颖而出。如今,它被使用在超过7000万个站点上。
本文旨在 Ubuntu 系统上基于 Nginx 部署 WordPress
前提条件
准备好 Ubuntu 系统
做好系统的备份
安装 Nginx
sudo apt-get install nginx -y
查看 Nginx 运行状态
sudo systemctl status nginx
启动 Nginx
sudo systemctl start nginx
配置 Nginx 开机自启
sudo systemctl enable nginx
安装 MariaDB
sudo apt-get install mariadb-server
启动 MariaDB
sudo systemctl start mariadb
配置 MariaDB 开机自启
sudo systemctl enable mariadb
运行以下命令以提高数据库安全性
sudo mysql_secure_installation
安装 PHP
sudo apt-get install php php-fpm php-cli php-mysql php-json php-opcache php-gd php-curl php-xml
使用 php -v 查看 PHP 的版本
创建 WordPress 本地数据库
sudo mysql -u root -p
创建一个名为 wordpress_db 的数据库
CREATE DATABASE wordpress_db;
创建一个名为 wordpress_user 的用户,并赋予他对 wordpress_db 数据库的所有权,并设置 wordpress_user 的密码为 password。(请填写自己的密码)
GRANT ALL PRIVILEGES ON wordpress_db.* TO 'wordpress_user'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
退出
exit
编辑 Nginx 文件
创建 WordPress 根目录(路径任意)
sudo mkdir /www/wwwroot/blog.sevenen.cn/wordpress
创建 WordPress 的 Nginx 文件
sudo nano /etc/nginx/sites-available/wordpress
server {
listen 80;
root /www/wwwroot/blog.sevenen.cn/wordpress;
index index.php index.html;
server_name SUBDOMAIN.DOMAIN.TLD; #替换 SUBDOMAIN.DOMAIN.TLD 为你的域名
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/php8.x-fpm.sock; #填写安装的 PHP 版本
}
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;
}
}
检查上述配置文件的正确性
nginx -t
创建符号链接
sudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/
重新加载 Nginx
sudo systemctl reload nginx
下载并配置 WordPress
切换到新创建的 WordPress 根目录
cd /www/wwwroot/blog.sevenen.cn/wordpress
使用 wget 工具从 WordPress 的官方网站下载最新的中文版 WordPress 安装包
sudo wget https://cn.wordpress.org/latest-zh_CN.tar.gz
解压刚刚下载的 WordPress 安装包
sudo tar -zxvf latest-zh_CN.tar.gz
将解压后的 WordPress 文件移动到当前目录
sudo mv /www/wwwroot/blog.sevenen.cn/wordpress/wordpress/* /www/wwwroot/blog.sevenen.cn/wordpress
删除解压后的空 WordPress 文件夹和原始的安装包
sudo rm -rf wordpress latest-zh_CN.tar.gz
更改文件所有权并且应用权限给 WordPress 所有文件
sudo chown -R www-data:www-data /www/wwwroot/blog.sevenen.cn
sudo chmod -R 755 /www/wwwroot/blog.sevenen.cn
配置 wp-config.php 文件
cd /www/wwwroot/blog.sevenen.cn/wordpress
sudo mv wp-config-sample.php wp-config.php
sudo nano wp-config.php
在wp-config.php文件中找出并更改以下内容
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' );
...
注意:为了保证网站的安全,通过 https://api.wordpress.org/secret-key/1.1/salt/ 生成安全密钥,粘贴在配置中。
安装并配置 WordPress
在浏览器中输入你的域名,根据 WordPress 设置指引完成最后的配置。