LNMP 搭建 wordpress 站点 安装及配置过程

0x00 环境

阿里云ECS云服务器

CPU:1核

内存:4G

操作系统:Centos

系统盘:100G

0x01 安装及配置

主要使用 nginx 、 php 和 mysql

注意:如果下面的设置不生效,试试重启相关的服务

systemctl restart 服务名

使用该命令重启服务

0x02 通过 firewalld 防火墙配置端口访问

CentOS 系统默认安装 firewalld 防火墙,可以通过命令配置允许外部访问服务器的指定端口/协议

# 开启防火墙
systemctl start firewalld
# 允许自启
systemctl enable firewalld

该防火墙通过 firewall-cmd 命令配置,例如向外部永久开放22端口

firewall-cmd --zone=public --add-port=22/tcp --permanent
--zone: 用于配置作用域,public 表示对外开放
--add-port: 指定要配置的端口/协议
--permanent: 参数表示该配置永久有效,重启后不重置端口配置

通常情况下 web 服务器需要开放 22, 80, 443, 3306 端口

# 重载防火墙
firewall-cmd --reload
# 列出所有永久配置的端口规则
firewall-cmd --list-port --permanent

0x03 安装常用环境

# 安装 C 编译环境
yum install gcc-c++
# 安装 pcre 库
yum install pcre pcre-devel
# 安装 zlib 库
yum install zlib zlib-devel
# 安装 openssl
yum install openssl openssl-devel

0x04 安装 nginx

# 安装 nginx
yum install nginx
# 启动 nginx
systemctl start nginx
# 允许开机自启
systemctl enable nginx

0x05 安装 mysql

# 获取并安装 mysql 安装包
rpm -Uvh http://repo.mysql.com/mysql57-community-release-el7.rpm
# 安装 mysql-server
yum install mysql-server

0x06 换源

# 获取并安装用于管理 epel 源的软件包
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

0x07 扩展包管理

# 安装扩展包管理器
yum install yum-utils

0x08 安装 php

# 获取并安装包含 php 软件源的软件包
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
# 安装 php 7.2 及常用的模块
yum install php72w php72w-fpm php72w-mysql php72w-gd php72w-ldap php72w-odbc php72w-pear php72w-xml php72w-xmlrpc php72w-mbstring php72w-snmp php72w-soap
# 启动 php
systemctl start php-fpm
# 允许开机自启
systemctl enable php-fpm

0x09 更改 mysql 密码

# 启动 mysql
systemctl start mysqld
# 允许开机自启
systemctl enable mysqld
# 查询 mysql 的 log 中带 password 的记录
grep "password" /var/log/mysqld.log
# 设置密码安全等级为 0
mysql> set global validate_password_policy=0;
# 设置密码最小长度为 1
mysql> set global validate_password_length=1;
# 更改密码
mysql> ALTER USER USER() IDENTIFIED BY 'passwd';
# 退出 mysql 终端
mysql> exit;

0x10 使 nginx 支持解析 php

# 从 default 配置复制一份可用的配置
cp /etc/nginx/nginx.conf.default /etc/nginx/nginx.conf
# 编辑配置文件
vim /etc/nginx/nginx.conf

将如下配置项写进配置文件中 server{} 块内

location ~ \.php$ {
    root           /var/www/html;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    include        fastcgi_params;
}

0x11 安装 wordpress

# 获取 wordpress 安装包
wget https://cn.wordpress.org/wordpress-4.8.1-zh_CN.tar.gz

这个不是最新版,链接可以去官网直接复制

# 解压
tar -zxvf wordpress-4.8.1-zh_CN.tar.gz
# 将文件夹移动到站点根目录并重命名为 blog
mv wordpress/ /var/www/html/blog
# 为保证 wordpress 能够操作自身文件,需要将其属主修改为 web 服务的账户并给整个文件夹 755 的权限
chown apache:apache -R /var/www/html/blog
chmod 755 -R /var/www/html/blog

wordpress 需要一个自己的数据库,新建一个

# 进入 mysql 终端
mysql -u root -p
# 新建数据库,名为 wordpress
mysql> create database wordpress;
# 退出 mysql
mysql> exit;

0x12 上传文件大小限制

编辑
vim /etc/php.ini

修改以下两个值

post_max_size = 128M
upload_max_filesize = 128M
LICENSED UNDER CC BY-NC-SA 4.0
Comment