前言
WordPress是目前流行的开源内容管理系统(CMS)之一,WordPress可以用来开发任何类型的网站,无论是博客、小型企业还是大型企业。通过它的免费和高级插件和主题,WordPress网站可以快速扩展以提供高级功能。
前提条件
- 准备全新的 Ubuntu 20.04 系统
- 做好系统的备份(Check Points,Snapshots……)以防安装出错可以回滚系统
检查更新 Ubuntu 系统
sudo apt-get update
sudo apt-get upgrade -y
检查系统是否 Ubuntu 20.04
lsb_release -a
安装 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 -y
sudo systemctl start mariadb
sudo systemctl enable mariadb
运行以下命令提高数据库安全性。
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 数据库
sudo mysql -u root -p
CREATE DATABASE wordpress_db;
GRANT ALL ON wordpress_db.* TO 'wpuser'@'localhost' IDENTIFIED BY 'Password' WITH GRANT OPTION;
*更改 Password 为你的密码
FLUSH PRIVILEGES;
exit
编辑 Nginx 相关文件
创建 WordPress 根目录。
sudo mkdir /usr/local/lsws/wordpress/wordpress/wordpress
为 WordPress 创建 Nginx 文件。
sudo nano /etc/nginx/sites-available/wordpress.conf
server {
listen 80;
root /usr/local/lsws/wordpress/wordpress/wordpress;
index index.php index.html;
server_name 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/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;
}
}
*替换 SUBDOMAIN.DOMAIN.TLD 为你的域名
检查上述配置文件的正确性
nginx -t
创建链接
cd /etc/nginx/sites-enabled
sudo ln -s ../sites-available/wordpress.conf .
重新加载 Nginx 以应用更改的设置
sudo systemctl reload nginx
下载和配置 WordPress
cd /usr/local/lsws/wordpress/wordpress/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 所有文件
cd /www/wwwroot/www.kingsonho.com
sudo chown -R www-data:www-data *
sudo chmod -R 755 *
配置 wp-config.php
文件
cd /usr/local/lsws/wordpress/wordpress/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 安装完成。
发表评论须遵守中华人民共和国相关法律法规。违规评论将会被删除。
Comments must subject to the relevant laws and regulations of the People’s Republic of China. Offending comments will be deleted.
运行显示 wp-config.php 源文件内容,请问是什么原因?
终于发现 wp-config.php 开始为
?php
加上
<
后就好了。
怎么顺便添加ssl呢?
可以参照这篇文章在 Nginx 上用 HTTPS 保护 WordPress
说下走的一个弯路,nginx配置文件中有这么一句“fastcgi_pass unix:/run/php/php7.4-fpm.sock”,因为我安装PHP时可能因为库里面已经没有这个7.4版本,就安装了默认的新版,结果版本对不上,配置里这句就没法使用fpm,导致502 bad gateway,去掉这个版本号或者对应正确的就可以。
的确是的,之前Ubuntu 18的时候没有php7的包还得额外源安装,ubuntu 20就好了已经有了,不过现在用docker部署WordPress比手动部署方便多了。