前言
WordPress是基于PHP和MySQL的免费开源内容管理系统(CMS)。 它是全球使用最广泛的CMS软件,截至2019年5月,它为排名前1000万个网站中[提供了超过30%的支持,并拥有在使用CMS构建的所有网站中,估计有60%的市场份额。
WordPress始于2003年,最开始仅为一款简单的博客系统,但现已发展成为具有数千款插件,小工具和主题功能完整的CMS系统。它是根据开源协议通用公共许可证(GPLv2或更高版本)进行授权。
前提条件
- 准备全新的 Ubuntu 系统
- 做好系统的备份以防安装出错可以回滚系统
检查更新 Ubuntu 系统
sudo apt-get update
sudo apt-get upgrade -y
检查系统版本
lsb_release -a
安装 Nginx
sudo apt-get install nginx -y
查看 Nginx 运行状态
sudo systemctl status nginx
启动 Nginx、配置 Nginx 开机自启动
sudo systemctl start nginx
sudo systemctl enable nginx
安装数据库 MariaDB
sudo apt-get install mariadb-server -y
sudo systemctl start mariadb
sudo systemctl enable mariadb
查看MeriaDB是否运行
service mysql status
安装脚本:mysql_secure_installation提高数据库服务器的安全性。
sudo mysql_secure_installation
安装 PHP 7.4
sudo apt-get install php7.4 php7.4-cli php7.4-fpm php7.4-mysql php7.4-json php7.4-opcache php7.4-mbstring php7.4-xml php7.4-gd php7.4-curl -y
查看 PHP 版本
php -verson
创建 WordPress 数据库
使用以下命令以 root 身份登录 MariaDB shell。
sudo mysql -u root -p
登录后,使用以下命令为 WordPress 创建数据库。
CREATE DATABASE wordpress_db;
然后输入以下命令为 WordPress 创建数据库用户。此命令还向用户授予 WordPress 数据库的所有权限。将 用户名和密码 替换为你自己要设置的用户名和密码。
GRANT ALL ON wordpress_db.* TO '用户名'@'localhost' IDENTIFIED BY '密码' WITH GRANT OPTION;
刷新权限表以使更改生效,然后退出 MariaDB shell。
flush privileges;
exit;
编辑 Nginx 相关文件
创建 WordPress 根目录。
sudo mkdir /home/wordpress
server {
listen 80;
server_name SUBDOMAIN.DOMAIN.TLD ;
root /www/wwwroot/wordpress;
access_log /var/log/nginx/www.access.log;
location / {
index index.php index.html index.htm;
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
#NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
include fastcgi_params;
fastcgi_intercept_errors on;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
}
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;
}
}
*替换 SUBDOMAIN.DOMAIN.TLD 为你的域名
检查上述配置文件的正确性
nginx -t
创建链接
cd /etc/nginx/sites-enabled
sudo ln -s ../sites-available/wordpress.conf .
重新加载 Nginx 以应用更改的设置
sudo systemctl reload nginx
下载和配置 WordPress
cd /home/wordpress
sudo wget https://cn.wordpress.org/latest-zh_CN.tar.gz
sudo tar -zxvf latest-zh_CN.tar.gz
sudo mv wordpress/* .
sudo rm -rf wordpress latest-zh_CN.tar.gz
更改文件所有权并且应用权限给 WordPress 所有文件
sudo chown -R www-data:www-data *
sudo chmod -R 755 *
配置 wp-config.php
文件
cd /www/wwwroot/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', 'wpuser');
define('DB_PASSWORD', 'Passw0rd!');
...
...
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' );
...
...
为了保证 WordPress 网站的安全,在上面的 WordPress 配置文件中,在数据库配置选项之后,通过 https://api.wordpress.org/secret-key/1.1/salt/ 生成安全密钥,粘贴在配置中。
安装 WordPress
在浏览器中访问你的域名,根据 WordPress 设置指引完成最后的配置。
WordPress 安装完成。
参考:Ubuntu 20.04 基于 Nginx 部署 WordPress – 我的it技术 (kingsonho.com)
GitHub Discussions