Logo

Logo

Centos7 Nginx+Mysql+Php搭建 WordPress站点

Pastore Antonio
Pastore Antonio 2021年12月11日
1499 阅读 0 评论 约 5501 字 阅读约 12 分钟
在这里插入图片描述

一、安装 Nginx

1.1 安装 Nginx 相关依赖

# 安装gcc
yum install gcc-c++
# 安装 pcre-devel 
yum install -y pcre pcre-devel
# 安装zlib  
yum install -y zlib zlib-devel
# 安装OpenSSL  
yum install -y openssl openssl-devel 

nginx 的一些模块依赖一些 lib 库,在安装 nginx 之前,须先安装这些 lib 库,依赖库主要有 g++gccopenssl-develpcre-develzlib-devel。nginx 编译依赖需要 `gcc’, gzip 模块需要 zlib 库,rewrite 模块需要 pcre 库, ssl 功能需要 openssl 库。

1.2 安装 Nginx

# 创建 nginx.repo文件
vi /etc/yum.repos.d/nginx.repo   
# 然后写入配置:
[nginx]  
name=nginx repo  
baseurl=http://nginx.org/packages/OS/OSRELEASE/$basearch/  
gpgcheck=0  
enabled=1 

这里手动添加 Nginx 的 配置库源,把 baseurl=http://nginx.org/packages/OS/OSRELEASE/$basearch/ 中的 OS 换为 centos(取决于你的系统),用 7(取决于你的版本)替换 OSRELEASE,即 baseurl=http://nginx.org/packages/centos/7/$basearch/ , 然后 :wq 保存退出。
运行:

yum install nginx

1.3 启动 Nginx 并通过浏览器访问

# 启动 nginx
cd /usr/sbin
./nginx
# 打开防火墙 80 端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
# 重启防火墙  
firewall-cmd --reload

浏览器访问服务器IP, 显示
在这里插入图片描述

1.4 Nginx 操作常用命令

# 启动nginx
 /usr/sbin/nginx    
# 停止 nginx    
 /usr/sbin/nginx -s stop    
# 从容停止 nginx
 /usr/sbin/nginx -s quit   
# 重启 nginx
 /usr/sbin/nginx -s reload  
# 查看nginx进程
ps aux | grep nginx

1.5 firewall 常规操作

Centos7 自带 firewall 防火墙

systemctl start firewalld # 启动
systemctl enable firewalld # 开机启动
systemctl stop firewalld # 关闭
systemctl disable firewalld # 取消开机启动

firewall 通过 firewall-cmd 管理具体规则:

$ firewall-cmd --help
1. 查看规则
# 查看运行状态
firewall-cmd --state
# 查看已被激活的 Zone 信息
firewall-cmd --get-active-zones
# 查看指定接口的 Zone 信息
firewall-cmd --get-zone-of-interface=eth0
# 查看指定级别的接口
firewall-cmd --zone=public --list-interfaces
# 查看指定级别的所有信息,譬如 public
firewall-cmd --zone=public --list-all
# 查看所有级别被允许的信息
firewall-cmd --get-service
# 查看重启后所有 Zones 级别中被允许的服务,即永久放行的服务
firewall-cmd --get-service --permanent
firewall-cmd --panic-on # 丢弃
firewall-cmd --panic-off # 取消丢弃
firewall-cmd --query-panic # 查看丢弃状态
firewall-cmd --reload # 更新规则,不重启服务
firewall-cmd --complete-reload # 更新规则,重启服务
# 添加某接口至某信任等级,譬如添加 eth0 至 public,再永久生效
firewall-cmd --zone=public --add-interface=eth0 --permanent
# 设置 public 为默认的信任级别
firewall-cmd --set-default-zone=public

2. 管理端口
# 列出 dmz 级别的被允许的进入端口
firewall-cmd --zome=dmz --list-ports
# 允许 tcp 端口 8080 至 dmz 级别
firewall-cmd --zone=dmz --add-port=8080/tcp
# 允许某范围的 udp 端口至 public 级别,并永久生效
firewall-cmd --zome=public --add-port=5060-5059/udp --permanent

3. 管理服务
# 添加 smtp 服务至 work zone
firewall-cmd --zone=work --add-service=smtp
# 移除 work zone 中的 smtp 服务
firewall-cmd --zone=work --remove-service=smtp

4. 配置 ip 地址伪装
# 查看
firewall-cmd --zone=external --query-masquerade
# 打开伪装
firewall-cmd --zone=external --add-masquerade
# 关闭伪装
firewall-cmd --zone=external --remove-masquerade

5. 端口转发
# 要打开端口转发,则需要先
# firewall-cmd --zone=external --add-masquerade
# 然后转发 tcp 22 端口至 3753
firewall-cmd --zone=external --add-forward-port=port=22:proto=tcp:toport=3753
-----------------------------------
# 转发 22 端口数据至另一个 ip 的相同端口上
firewall-cmd --zone=external --add-forward-port=port=22:proto=tcp:toaddr=192.168.1.100
# 转发 22 端口数据至另一 ip 的 2055 端口上
firewall-cmd --zone=external --add-forward-port=port=22:proto=tcp:toport=2055:toaddr=192.168.1.100

二、MySQL 安装与配置

2.1 安装 Mysql

centos7 下没有 yum install mysql-server 的安装方法,由此,使用以下的安装方法:

wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum update
yum install mysql-server
# 启动mysql
systemctl start mysqld

2.2 MySQL 初始化设置

# 运行下面命令进入初始化设置
mysql_secure_installation
2.2.1 修改 Mysq 默认密码

首先是设置root密码,初次登录时默认为空,直接点回车,然后输入两次root新密码

在这里插入图片描述

2.2.2 删除匿名用户

随后,会选择是否删除匿名用户(不需要账户就可以登入mysql),选择 y,如图
在这里插入图片描述

2.3.4 允许远程连接

默认情况下,root 用户只允许连接 localhost,这可以防止其他用户通过远程登录到 root,这里依据自己的情况选择,在项目中,需要通过远程登录 root 用户,这里选了 n,如图:
在这里插入图片描述

2.3.5 删除测试数据库

删除测试数据库, 选y:

在这里插入图片描述

2.3.6 数据库计时实时更新

最后,选择数据库计时更新,选择 y
在这里插入图片描述

2.4 创建 Mysql 用户

# root用户登录
mysql -u root -p
create database wordpress charset utf8;
# 列出数据库(如下图)
show databases;
# 退出数据库
exit;
# 重启数据库
systemctl restart mysqld 

在这里插入图片描述

三、PHP、Vsftpd 安装配置

3.1 配置 PHP

#  先安装 php-mysql 和 php-fpm,如果已有,则跳过
yum –y install php-mysql
yum –y install php-fpm
# 运行
yum -y install php* --skip-broken
# 编辑 php 配置文件
vim /etc/php.ini
# 添加
extension=mysql.so
# 找到 extension_dir  并设为
extension_dir = "/usr/lib64/php/modules"
# 重启 php 服务
systemctl restart php-fpmmv

3.2 Vsftpd 安装与配置

# 安装
yum -y install vsftpd
# 启动服务
systemctl start vsftpd 
# 新建 ftp home 目录
mkdir  /ftpuserdata
# 为 ftp 创建用户 ftpuser,指定目录 /ftpuserdata/www/
useradd ftpuser -d /ftpuserdata/www/ -s /sbin/nologin
# 设置密码
passwd ftpuser
# 编辑 FTP 配置文件
vim /etc/vsftpd/vsftpd.conf
# 将匿名登录禁用
anonymous_enable=NO
# 保存退出后,给 www 目录设置读写权限
chmod -R 777 /ftpuserdata/www/
# 重启
systemctl restart vsftpd

四、Wordpress 安装及相关配置

4.1 安装 wordpress

# 安装
# 进入目录
cd /ftpuserdata/www/
#下载
wget https://wordpress.org/latest.zip
# 解压
unzip latest.zip

4.2 配置 WordPress

修改 WordPress 的配置文件

 vim /ftpuserdata/www/wordpress/wp-config-sample.php 

在这里插入图片描述

保存退出,重命名 WordPress 配置文件

mv /ftpuserdata/www/wordpress/wp-config-sample.php /ftpuserdata/www/wordpress/wp-config.php 

4.3 修改 wp 相关配置

根据 WordPress 目录修改 nginx 配置,以及 php 的 cgi 设置:

vim /etc/nginx/conf.d/default.conf

在这里插入图片描述

修改完之后,重启相关服务。

systemctl restart vsftpd
systemctl restart php-fpm
systemctl restrat nginx

浏览器打开 IP 地址,既可以到 WordPress 的初始化界面。这样一个 WordPress 网站就搭好了。
在这里插入图片描述

五. 相关问题及解决

更换主题时, 出现没有上级目录的写权限

WordPress create directory wp-content/uploads/2018/11.

解决

cd /ftpuserdata/www 
mkdir wordpress/wp-content/
chmod 777 wordpress/wp-content/uploads/

【相关链接】

查看完整代码

橙子主题打折出售

其实我不卖,主要是这里是放广告的,所以就放了一个
毕竟主题都没做完,卖了也是坑.

购买它

附件下载

共 10 个文件
20181118092257760
PNG 64.2 KB
20181118094725563
PNG 128.7 KB
20181118094836107
PNG 56.8 KB
2018111809494131
PNG 32.6 KB
2018111809501061
PNG 39.9 KB
20181116014820559
PNG 6.5 KB
20181118095310460
PNG 53.4 KB
2018111813542410
PNG 83.3 KB
20181118151902923
PNG 85.7 KB
20181118152456671
PNG 584.8 KB
部分文章可能存在转载,如果涉及到侵权,请联系删除文章。

探索AIGC相关的精彩内容,共 15 篇文章

Azure AI 服务之语音识别

简介 Azure AI 服务中的语音识别 API 是微软提供的一项先进技术,旨在帮助开发者轻松实现语 ... Centos7 Nginx+Mysql+Php搭建 WordPress站点

2026-02-17 · Xzavier Aaron
MCP | 一文详解什么是 MCP以及 MCP 可以做什么

一、什么是 MCP MCP(Model Context Protocol)是一个专为大型语言模型(L ... Centos7 Nginx+Mysql+Php搭建 WordPress站点

2026-02-14 · Shen, Luke
你的工作流程,值得一个“全自动数字分身”:录制、截图、成文,一气呵成

一、一句话认识 TestFlow Recorder 在数字化工作环境中,如何准确记录操作步骤并生成清 ... Centos7 Nginx+Mysql+Php搭建 WordPress站点

2026-02-14 · Xzavier Aaron
Flowise 前端框架配置指南

用户需求 问题:有没有适合配置 Flowise 的前端框架? 目标:寻找类似 Open WebUI ... Centos7 Nginx+Mysql+Php搭建 WordPress站点

2026-02-14 · Xzavier Aaron