如何使用 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愉快!

相关推荐
云和数据.ChenGuang7 分钟前
运维面试题之oracle和mysql单表最大容量
运维·mysql·oracle
偶像你挑的噻15 分钟前
12-Linux驱动开发- SPI子系统
linux·驱动开发·stm32·嵌入式硬件
松涛和鸣40 分钟前
16、C 语言高级指针与结构体
linux·c语言·开发语言·数据结构·git·算法
L***86531 小时前
Failed to restart nginx.service Unit nginx.service not found
运维·nginx
F***c3251 小时前
PHP在微服务中的分布式跟踪
分布式·微服务·php
Z***G4791 小时前
【零基础学Mysql】常用函数讲解,提升数据操作效率的利器
数据库·mysql
念风1 小时前
[lvgl]如何优雅地向lv_port_linux中添加tslib支持
linux
aml258__1 小时前
MySQL 数据库管理入门:从创建到删除(T1)
数据库·mysql·oracle·初学数据库
beata2 小时前
MySQL 索引你真的用对了吗?
mysql
自由的好好干活2 小时前
使用Qoder编写ztdaq的C#跨平台示例总结
linux·windows·c#·qoder