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

相关推荐
KYGALYX22 分钟前
在Linux中备份msyql数据库和表的详细操作
linux·运维·数据库
余—笙1 小时前
Linux(docker)安装搭建CuteHttpFileServer/chfs文件共享服务器
linux·服务器·docker
lang201509281 小时前
Linux高效备份:tar与gzip完全指南
linux·运维·服务器
IDOlaoluo1 小时前
OceanBase all-in-one 4.2.0.0 安装教程(CentOS 7/EL7 一键部署详细步骤)
linux·centos·oceanbase
kali-Myon1 小时前
NewStarCTF2025-Week4-Web
sql·安全·web安全·php·ctf·ssti·ssrf
catoop2 小时前
在 WSL 的 Ubuntu 中安装和配置 SSH 服务
linux·ubuntu·ssh
Hard but lovely2 小时前
linux: centos 软件包管理 yum源
linux·运维·centos
悲伤小伞2 小时前
Linux_Socket_UDP
linux·服务器·网络·c++·网络协议·udp
熙客3 小时前
Kubernetes是如何保证有状态应用数据安全和快速恢复的
mysql·云原生·容器·kubernetes
安全不再安全3 小时前
免杀技巧 - 早鸟注入详细学习笔记
linux·windows·笔记·学习·测试工具·web安全·网络安全