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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/831773.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

速盾:高防CDN-完美防御

如今,网络安全已成为企业和个人不可忽视的重要问题之一。随着网络技术的不断发展,网络攻击的手段也越来越复杂和隐蔽。因此,保护网络的安全性变得尤为重要。针对网络攻击的防护手段也在不断升级和完善。其中,高防CDN作为一种完美的…

Java面试题:什么是线程安全,如何使代码线程安全?

线程安全是指在多线程环境中,代码能够正确地工作而不会导致数据不一致或程序崩溃。当多个线程访问共享资源时,如果这些线程的执行顺序是不确定的,可能会导致数据的不一致性。为了确保线程安全,需要采取一定的措施来控制对共享资源…

zabbix监控Tongweb7企业版(by lqw+sy)

此贴参考zabbix通过jmx监控Tongweb7企业版(by lqw),是在此帖子的基础和同事整理的文档基础上重新部署验证的优化版,使用的是centos7。 优点: 1.不需要通过jmx配置进行监控。(jmx配置需要修改tongweb的配置…

大模型预训练与微调

一、基础知识 机器学习数学原理:梯度下降(gradient descent)在机器学习中应用十分的广泛,不论是在线性回归还是Logistic回归中,它的主要目的是通过迭代找到目标函数的最小值,或者收敛到最小值。深度学习 …

[leetcode]最多公共前缀

编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。 示例 1: 输入:strs ["flower","flow","flight"] 输出:"fl"示例 2: 输…

IO复用技术(1)——select/poll/epoll原理介绍及使用案例

文章目录 1.Select1.1 工作流程1.2 fd_set函数1.3 select函数1.4 例程 2.poll2.1 poll函数2.2 例程 3.epoll3.1 工作流程3.2 相关函数3.3 epoll的两种工作模式3.4 示例代码 4.总结 原理:使用一个线程来检查多个文件描述符,委托内核进行检查,如…

Mac OS系统如何更新

用了好几年的Mac Book安装软件经常提示需要更高的系统版本,因此要升级系统版本,但是开始在系统设置里面找了一下没有找到升级的按钮,找了资料后才知道如何升级。有以下两种入口 一、App Store搜索MacOs,在出现的搜索结果中选择下载…

新的排序算法

我发现了 石油 新的排序算法!!! 算法: 定义布尔数组a[NUM] (我也不知道NUM的值) 输入 n,循环输入n次整数x,每次输入把a[x]的值改为1,输出每个 a[i]1 的 i 是有序序列 算法时间复杂度 O(n) 空间占用(字节…

微服务----nacos配置及简单使用

目录 什么是nacos 项目在nacos上进行注册 注入nacos依赖 配置application.yml文件 nacos写入配置文件 首先,还是需要导入依赖 然后在nacos中编写配置文件 prod是我自定义的一个命名空间,在这里面进行配置文件编写~ 启动类上加上注解 编写Patt…

2013NOIP普及组真题 2. 表达式求值

线上OJ: 一本通:http://ybt.ssoier.cn:8088/problem_show.php?pid1962 核心思想:(模拟) 本题的符号只有 和 ∗ * ∗,没有括号,没有表达式的合法性判断,所以逻辑上不复杂。只需…

SpringBoot+Vue项目企业客户管理系统

一、前言介绍 本文主要论述了如何使用JAVA语言开发一个企业客户管理系统,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发。在引言中,作者将论述企业客户管理系统的当前背景以及系统开…

Qt之信号与槽

槽的本质:对信号响应的函数。 信号函数和槽函数通常位于某个类中,和普通的成员函数相⽐,它们的特别之处在于: 信号函数⽤ signals 关键字修饰,槽函数⽤ public slots、protected slots 或者 private slots 修饰。sign…

数据结构---单链表

题目&#xff1a;构造一个单链表。 使用的软件&#xff1a;VS2022使用的语言&#xff1a;C语言使用的项目&#xff1a;test.c Setlist.h Setlish.c 项目实践&#xff1a; Setlist.h的代码为&#xff1a; #pragma once#include<stdio.h> #include<stdlib.h> #incl…

【算法小白周赛2】A.朋友遍天下(easy)C++代码和题解

题目链接&#xff1a;https://www.starrycoding.com/problem/165 题目描述 本题与hard版本有一定区别&#xff0c;仅“拜访时间安排表”的规则相同&#xff0c;hard版本需要进行一定修改才能通过easy版本。 醋酸锌有许多的好友&#xff0c;为了能好好拜访他的每一个好友&…

Java | Leetcode Java题解之第67题二进制求和

题目&#xff1a; 题解&#xff1a; class Solution {public String addBinary(String a, String b) {StringBuffer ans new StringBuffer();int n Math.max(a.length(), b.length()), carry 0;for (int i 0; i < n; i) {carry i < a.length() ? (a.charAt(a.leng…

.离散化.

离散化就是将原本大而稀疏的区间&#xff0c;映射到紧凑连续的区间内。进而压缩区间长度。 题目&#xff1a; 假定有一个无限长的数轴&#xff0c;数轴上每个坐标上的数都是 00。 现在&#xff0c;我们首先进行 n&#x1d45b; 次操作&#xff0c;每次操作将某一位置 x&#…

单调栈|496.下一个更大元素I

力扣题目链接 class Solution { public:vector<int> nextGreaterElement(vector<int>& nums1, vector<int>& nums2) {stack<int> st;vector<int> result(nums1.size(), -1);if (nums1.size() 0) return result;unordered_map<int, …

连接和使用vCenter Server嵌入式vPostgres数据库

vCenter Server 早期支持内嵌(embedded)和外部(external)数据库,内嵌数据库就是vPostgres,基于VMware Postgres数据库(PostgreSQL数据库),外部数据库用的多的是Oracle数据库和SQL Server数据库。因为早期使用内嵌的PostgreSQL数据库只能用于小型环境,比如仅支持几十台…

SpringBoot对接前端传递的base64编码的图片信息,转成图片以Get请求进行浏览器文件下载,不下载到本地。

一、问题描述 1.1需求描述。 前端将浏览器展示的图片以base64编码的形式传递给后端&#xff0c;以此实现文件下载的功能&#xff0c;在浏览器弹出文件下载框。效果如下 1.2实现思路 将前端传递的base64进行解码&#xff0c;设置响应头返回响应体&#xff0c;代码如下。 pu…

opencv 采样照片

def take_photo(path):capture cv2.VideoCapture(0)# 加载人脸特径数据face_detector cv2.CascadeClassifier(haarcascade_frontalface_alt.xml)filename 1flag_write Falsewhile True:flag,frame capture.read()if not flag:breakgray cv2.cvtColor(frame, codecv2.COLOR…