NGINX(发音为 engine-x)是一个开源的强大、轻量级和灵活的 HTTP 服务器,在过去几年中越来越受欢迎,现在已成为一些最大流量网站的主要服务器接口,如 Facebook、WordPress、Sourceforge 等。
它之所以如此快速可靠,是因为它采用了与 Apache 相同的模块化设计,但在 Web 套接字方面采用了不同的方法,使用了事件驱动的异步架构,不会像接收请求那样快速生成进程,并且使用简单的配置文件。 对于基于 Ubuntu 和 Debian 的系统,Nginx 已经作为一个软件包编译在它们的软件仓库中,并且可以通过 apt 软件包工具进行安装。
相关阅读: 如何在 Debian 和 Ubuntu 上使用 Apache 安装 WordPress 它还支持像 Apache 一样的虚拟主机,并通过 PHP-FPM 与服务器上的 PHP 文件进行通信,使用 Fastcgi 通道。 本教程涵盖了在虚拟主机上安装和基本文件配置 Nginx 以托管 WordPress CMS 网站,并适用于 Ubuntu 18.04/20.04、Debian 10/9 和 Linux Mint 20/19/18。
Nginx Web 服务器的安装
1. 在 Ubuntu、Debian 或 Linux Mint 上安装 Nginx 与其他软件包一样简单,只需执行一个简单的命令即可完成安装。
sudo apt-get install nginx
在 Ubuntu 上安装 Nginx
2. 接下来,使用以下 systemctl 命令启动、启用和验证 Nginx 的状态。
sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl status nginx
在 Ubuntu 中验证 Nginx 状态
安装 PHP 和 MariaDB 服务器
3. 为了使 Nginx 能够运行 WordPress,您需要安装 PHP、PHP-FPM 和 MariaDB 软件包。
sudo apt-get install php php-mysql php-fpm php-curl php-gd php-intl php-mbstring php-soap php-xml php-xmlrpc php-zip mariadb-server mariadb-client
在 Ubuntu 上安装 PHP 和 MariaDB
4. 接下来,验证MariaDB数据库服务是否正在运行,并且已启用在系统启动时自动启动。
sudo systemctl status mariadb
sudo systemctl is-enabled mariadb
在 Ubuntu 中验证 MariaDB 状态
5. 为了与FastCGI后端进行通信,服务器上必须启用PHP-FPM服务。
sudo systemctl start php8.2-fpm
sudo systemctl enable php8.2-fpm
sudo systemctl status php8.2-fpm
在 Ubuntu 中验证 PHP-FPM 状态
6. Now you need to make your MariaDB installation secure by running the mysql_secure_installation
script which ships with the MariaDB package.
现在您需要运行随 MariaDB 软件包提供的脚本来确保您的 MariaDB 安装安全。
sudo mysql_secure_installation
运行脚本后,它将带您回答一系列问题,以便您可以通过以下方式提高MariaDB安装的安全性:
- 输入当前 root 用户的密码(没有则直接回车):
Enter
- 设置根密码?[Y/n]
y
- 删除匿名用户?[Y/n]
y
- 禁止远程登录 root 用户?[Y/n]
y
- 删除测试数据库和访问权限?[Y/n]
y
- 现在重新加载权限表吗?[Y/n]
y
MariaDB 安全安装
WordPress 安装
7. ** WordPress需要一个数据库来存储服务器上的数据,因此请使用如下命令为您的网站创建一个新的 WordPress 数据库。
mysql -u root -p
MariaDB [(none)]> CREATE DATABASE mysite;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON mysite.* TO 'mysiteadmin'@'localhost' IDENTIFIED BY 'SecureP@ssHere!';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
8. 现在是创建 WordPress 虚拟主机根路径的时候,下载 WordPress 存档,解压缩后,然后执行递归复制到 /var/www/html/wordpress
。
sudo mkdir -p /var/www/html/mysite.com
wget http://wordpress.org/latest.tar.gz
tar xfvz latest.tar.gz
sudo cp -r wordpress/* /var/www/html/mysite.com
9. 为了顺利安装WordPress而避免任何 wp-config.php
创建文件错误,请授予 Nginx www-data
系统用户对 /var/www/html/mysite.com
路径的写入权限,并在安装 WordPress 后恢复更改。
sudo chown -R www-data /var/www/html/mysite.com
sudo chmod -R 755 /var/www/html/mysite.com
为 WordPress 网站创建一个 NGINX 虚拟主机
10. 现在是在Nginx服务器上为 WordPress 网站创建基本虚拟主机的时候了。运行以下命令来创建 WordPress 服务器配置文件。
sudo vim /etc/nginx/sites-available/mysite.com
然后添加以下内容。
server {
listen 80;
listen [::]:80;
root /var/www/html/mysite.com;
index index.php index.html index.htm;
server_name mysite.com www.mysite.com;
error_log /var/log/nginx/mysite.com_error.log;
access_log /var/log/nginx/mysite.com_access.log;
client_max_body_size 100M;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_read_timeout 300;
fastcgi_send_timeout 300;
}
}
ln -s /etc/nginx/sites-available/mysite.com /etc/nginx/sites-enabled/mysite.com
11. 默认情况下,Nginx 将所有请求路由到 default
服务器块。因此,删除 default
服务器块以启用您的 WordPress 网站或其他您希望在同一服务器上托管的网站。
sudo rm /etc/nginx/sites-enabled/default
sudo rm /etc/nginx/sites-available/default
12. 接下来,在重新启动 Nginx 服务以应用新更改之前,请检查 NGINX 配置语法是否存在错误。
sudo nginx -t
sudo systemctl restart nginx
通过 Web 安装程序完成 WordPress 安装
13. 现在打开您的网络浏览器,并使用网络安装程序完成 WordPress 安装。
http://mysite.com/
OR
http://SERVER_IP/
选择 WordPress 安装语言
14. 然后添加网站信息,如标题、管理员用户名、密码和电子邮件地址。然后点击安装 WordPress以继续安装。
添加 WordPress 网站详细信息
15. WordPress 安装完成后,点击下图中突出显示的登录按钮,进入网站管理员的控制面板。
WordPress 安装完成
**16.**在网站管理员登录页面,输入您上面创建的用户名和密码,然后点击登录,以访问您网站的管理员控制面板。
WordPress 登录
WordPress 仪表盘
17. 安装完成后,通过执行以下命令撤销权限。
sudo chown -R root /var/www/html/mysite.com
在 WordPress 上启用 HTTPS
18. 如果您想在您的 WordPress 网站上启用HTTPS,您需要按照所示安装来自Let’s Encrypt的免费 SSL 证书。
sudo apt-get update -y
sudo apt-get install certbot python3-certbot-nginx -y
sudo certbot --nginx
要确认您的 WordPress 网站是否正确设置了免费 SSL 证书,请访问您的网站 https://yourwebsite.com/
,并在 URL 栏中查找锁定图标。或者,您可以在 https://www.ssllabs.com/ssltest/上检查您的网站的 HTTPS。
恭喜!您已成功在服务器上安装了最新版本的WordPress与NGINX,现在开始构建您的新网站或博客吧。