基于公有云部署wordpress

发布于 2024-06-19  43 次阅读


云平台选择

腾讯云
file
阿里云
file
华为云
file

项目部署

一、架构讲解

file

1.1、定义与组成

LNMP是Linux、Nginx、MySQL(或MariaDB)和PHP(或Perl、Python)的首字母缩写,代表在Linux系统下使用Nginx作为Web服务器,MySQL作为数据库,PHP作为服务器端脚本语言的一种网站服务器架构。
Linux:作为操作系统,提供稳定的运行环境。Linux是一类Unix计算机操作系统的统称,代表版本有debian、centos、ubuntu、fedora、gentoo等。
Nginx:一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。Nginx采用事件驱动的非阻塞I/O模型,能够高效处理大量并发连接和请求,对系统资源的消耗相对较低。
MySQL(或MariaDB):一个关系型数据库管理系统,用于存储网站数据。MySQL具有数据可靠性高、备份恢复容易等优点,同时提供了复制和分区等特性以支持容错和高可用性需求。
PHP(或Perl、Python):一种在服务器端执行的嵌入HTML文档的脚本语言,用于处理业务逻辑和与前端的交互。

1.2、工作原理

当用户通过浏览器访问LNMP架构的网站时,Nginx服务器会接收到用户的请求。Nginx会根据请求的URL和配置进行匹配,检测请求的Web文件是静态还是动态。
静态页面请求:如果请求的是静态HTML页面,Nginx会直接处理并响应给客户端。
动态页面请求:如果请求的是动态PHP页面(或其他脚本语言),Nginx会将请求发送给后端的PHP模块或CGI。PHP解释器将动态网页解析为静态的HTML网页,然后返回给Nginx。Nginx再将解析后的HTML静态网页结果返回给客户端。

1.3、特点与优势

高性能和高并发:Nginx具有出色的性能和高并发处理能力,能够高效处理大量并发连接和请求。
安全性高:Nginx可以通过HTTP认证和SSL/TLS加密来提供数据和服务的安全性。
灵活性:LNMP可以安装于多个平台和多个版本的Linux操作系统上,同时支持自定义和扩展以适应不同的应用需求。
易用性:LNMP具有易用性,不需要额外的复杂配置即可完成安装和配置。
高可靠性:MySQL作为后端数据库,具有数据可靠性高、备份恢复容易等优点。

1.4、应用案例

LNMP架构广泛应用于各类网站和应用中,如微信公众号后台管理系统、电商网站等。在这些场景中,Nginx负责反向代理和负载均衡,MySQL用于存储数据,PHP处理业务逻辑和与前端的交互,Linux提供稳定的运行环境。

二、项目配置

服务安装

# 安装数据库
[root@localhost ~]# yum -y install mariadb-server mariadb
# 安装php8
[root@localhost ~]# yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm
[root@localhost ~]# yum install php80-php-xsl php80-php php80-php-cli php80-php-devel php80-php-gd php80-php-pdo php80-php-mysql php80-php-fpm -y

# 安装nginx
[root@localhost ~]# yum install -y epel-release
[root@localhost ~]# yum install -y nginx

# 启动php 数据库 nginx
[root@localhost ~]# systemctl start php80-php-fpm mariadb nginx
[root@localhost ~]# systemctl enable php80-php-fpm mariadb nginx

nginx 配置

# nginx 配置文件设置
server {
        listen      80;
        server_name www.itnzs.top;
        location / {
            root /usr/share/nginx/html;
            index index.php;
        }
        location ~ \.php$ {
            root          /usr/share/nginx/html;  #指定网站目录
            fastcgi_pass   127.0.0.1:9000;    #指定访问地址
            fastcgi_index  index.php;       #指定默认文件
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name; #站点根目录,取决于root配置项
            include        fastcgi_params;  #包含nginx常量定义
                }
        }

# 重启nginx
systemctl restart nginx

数据库配置

# mysql 创建数据库
mysql -e "create database wordpress"

代码上传

# 代码上传
tar xf wordpress-6.1-zh_CN.tar.gz
rm -rf /usr/share/nginx/html/*
cp -r ./wordpress/* /usr/share/nginx/html
chmod -R 777 /usr/share/nginx/html

浏览器访问

file