如何使用 Nginx、MySQL、 PHP 在 Ubuntu 22.04 上安装 WordPress

Apache通常是部署WordPress的首选,因为它被广泛使用,配置简单,并且与WordPress的要求具有强大的兼容性。

然而,Nginx是一个可行的替代方案,并提供了自己的一系列优势。Nginx以其高性能而闻名,特别是在处理大量并发连接时,可以实现更快的网页加载速度。此外,Nginx以资源利用效率高著称,这对资源有限的服务器非常有益。

Nginx能够高效处理静态内容以及具有反向代理功能,这也使得Nginx成为WordPress托管的强有力竞争者,特别是在高流量场景下或对具有复杂缓存需求的动态网站而言。

我们首先更新软件包列表:

sudo apt update 

PHP、MySQL和Nginx安装 请注意,在Ubuntu上使用Nginx部署时,使用php-fpm(PHP FastCGI进程管理器)而不是标准的PHP模块,因为Nginx不会在自身内部嵌入PHP处理。

与Apache不同,Apache可以使用类似mod_php的模块在内部处理PHP,Nginx则充当反向代理,需要外部处理器来处理PHP文件。php-fpm通过充当PHP脚本的FastCGI服务器来提供此功能,允许Nginx与其通信以处理PHP代码。

此设置增强了性能和可伸缩性,因为php-fpm可以同时处理多个PHP进程,使其更适合高流量的网站。

sudo apt install php-fpm php-mysql mysql-server nginx unzip 

配置Nginx以与PHP一起工作 现在让我们替换Nginx的"默认"配置

cd /etc/nginx/sites-available sudo rm default sudo nano default 

然后我们可以将以下配置粘贴到新创建的空文件中:(注意PHP的版本,我的就8.1 php8.1-fpm.sock

server { listen 80; server_name your_server_domain_or_IP; root /var/www/html; index index.php index.html index.htm; location / { try_files $uri $uri/ =404; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php8.1-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } 

重新启动Nginx 我们需要重新启动Nginx以使新配置生效

sudo systemctl restart nginx.service 

删除默认的index.html页面

cd /var/www/html sudo rm index.nginx-debian.html 

将WordPress下载到Ubuntu服务器 在/var/www/html文件夹中,让我们从wordpress.org下载WordPress:

sudo wget https://wordpress.org/latest.zip 

提取WordPress存档的内容

sudo unzip latest.zip 

删除WordPress压缩文件

sudo rm latest.zip 

将WordPress移动到服务器的根文件夹

sudo mv wordpress/* . 

更改WordPress文件的所有者

sudo chown -R www-data:www-data * 

保护MySQL安装 为了提高MySQL的安全性,建议运行mysql_secure_installation脚本:

sudo mysql_secure_installation 

对所有问题都回答"是",并选择'2'作为所需密码强度。

创建数据库和数据库用户 首先我们需要启动MySQL:

sudo mysql 

然后,我们可以为WordPress创建数据库:

CREATE DATABASE wordpress_db; 

和一个数据库用户:

CREATE USER 'wordpress_user'@'localhost' IDENTIFIED BY '密码';  # 本地
CREATE USER 'wordpress_user'@'%' IDENTIFIED BY '密码';  # 所有主机

确保用更安全的密码替换密码!

然后我们需要为用户授予对数据库的权限:

GRANT ALL PRIVILEGES ON wordpress_db.* TO 'wordpress_user'@'localhost'; 
GRANT ALL PRIVILEGES ON wordpress_db.* TO 'wordpress_user'@'%';   # 对应上面的第二种

然后我们可以退出MySQL

quit 

安装WordPress 现在我们可以访问服务器的IP地址并使用WordPress内置的安装程序。

我们需要提供刚刚创建的数据库和用户名。

创建wp-config.php 如果收到"无法写入wp-config.php文件"的消息:

在/var/www/html文件夹中创建文件:

sudo nano wp-config.php 

然后从WordPress安装程序中复制文件的内容,并将其粘贴到您的文件中。

完成后,点击"运行安装",WordPress将被安装

祝您使用WordPress愉快!

相关推荐
->yjy1 分钟前
计算机网络(第一章)
网络·计算机网络·php
朝九晚五ฺ18 分钟前
【Linux探索学习】第十四弹——进程优先级:深入理解操作系统中的进程优先级
linux·运维·学习
自由的dream22 分钟前
Linux的桌面
linux
Oak Zhang44 分钟前
sharding-jdbc自定义分片算法,表对应关系存储在mysql中,缓存到redis或者本地
redis·mysql·缓存
xiaozhiwise1 小时前
Makefile 之 自动化变量
linux
阳光帅气男孩2 小时前
PhpSpreadsheet导出图片
php
久醉不在酒2 小时前
MySQL数据库运维及集群搭建
运维·数据库·mysql
WindFutrue2 小时前
使用Mybatis向Mysql中的插入Point类型的数据全方位解析
数据库·mysql·mybatis