在亚马逊云平台申请好服务器后,还需要进行一下简单的亚马逊云配置才能使用,Linux的虚拟机实例,推荐使用 Red Hat 红帽,Red Hat Enterprise Linux 8 在AWS亚马逊云中是免费的,亚马逊云配置无需额外付费。

AWS亚马逊云服务器Linux系统初始配置
Red Hat Enterprise Linux 8 虚拟机实例启用之后,还是一个空白的系统,所有的环境都需要重新配置。
修改服务器root密码以及远程登录
aws ec2默认是使用ec2-user账号登陆的,对很多文件夹是没有权限的。需要更改为root超级管理员登录。
安装启用DNF的自动更新
安装 dnf-automatic
设置dnf-automatic为开机启动。
如果你没有开通Red Hat 订阅权限,这一步无法更新dnf仓库。
安装开发工具软件包组
开发工具软件包组里面,包含了大部分Linux下的常用命令,以及工具软件。
DNF更新系统软件包
将系统里的软件包更新到dnf上最新版本。
配置系统虚拟内存
默认安装操作系统是没有分配swap空间的,需要手动添加。如果操作系统没有配置swapfile(分配swap空间)会导致内存负载后出错。
使用 free -m 命令查看内存配置,如果Swap后面都是0的话则需要添加swap空间。

Swap后面全是0,下面开始创建Swap虚拟内存!
创建一个预分配指定大小空间的文件,下面设置大约8G左右的硬盘空间作为系统虚拟内存使用。
划为Swap空间时,服务器会有一些慢,请耐心等待。
划分完毕后,使用ls命令检查文件大小。
大小查看过后,需要更改swap文件的权限。
操作之后,格式化swapfile。
好了,现在swapfile文件已经创建完成了,下面启用swapfile文件。
最后,修改fstab文件来实现重启后 swap 可以自动生效。
使用VI 编辑 /etc/fstab ,在文件末尾加入下面内容。
或者使用echo命令添加。
设置完毕后,reboot重新启动服务器。

如果你想停止swap,你可以使用 swapoff /swapfile ,删除swap文件的命令是 rm -ir /swapfile。
修改服务器时区
将服务器时区修改为Asia/Shanghai,之后可以使用 timedatectl 命令查询时区。
禁用SELinux
永久禁用SELinux,将SELinux属性修改为 Disabled 后重新启动服务器。
AWS安装 Red Hat 中文语言包
在Red Hat上安装中文语言包,使用dnf命令,搜索中文语言包。
我们可以发现Red Hat上的简体中文的安装包是:langpacks-zh_CN.noarch

直接通过dnf命令安装:
按Y同意安装,之后会自动下载安装包进行安装。

安装完毕后,需要安装中文字体支持:

中文字体安装完毕后,修改系统语言:
将原来的内容替换成下面内容
最后通过命令:locale -a 命令查看一下 zh_CN 有没有安装成功,之后,reboot 命令重新启动服务器。
如何在RHEL 8注册Red Hat订阅
如果你在RHEL 8安装期间尚未注册系统,则可以通过以root用户身份,应用以下命令来立即执行此操作。
如果你没有Red Hat的用户,请先到Red Hat 官方网站注册:https://www.redhat.com/wapps/ugc/register.html

用户注册请填写真实邮箱,注册后电子邮件中会有一封验证邮件的连接,激活后帐户才会生效。Red Hat用户注册成功后,返回Xshell中,进行登录。
在 RHEL 8 上安装 EPEL 存储库
EPEL 8 已正式向公众发布。EPEL 存储库的安装非常简单,只需运行以下命令即可完成。
RHEL 8安装php
注意:在安装php7.2时候,会绑定nginx1.14的模块流,如果想安装更高版本的nginx的话,需要先安装nginx,再安装php。
首先检查一下系统中AppStream from RHUI (RPMs)的元数据。

目前PHP启用的版本是7.2版本,如果默认安装php的话,会直接安装7.2版本的php,修改更改php模块。
启用仓库中的php模块:

输入Y之后,php7.4的模块流就被启用了。

接下来就可以直接安装php了,如果想重置php模块流,可以使用下面的命令:
下面开始安装PHP7.4和相关依赖。

输入Y之后,开始安装php7.4以及相关依赖软件包。
查看一下php安装是否正确。

配置PHP
php7.4安装完毕后,还需要进行一些常规的配置。
修改php访问权限,php默认的访问用户是阿帕奇的apache用户,我们需要将apache更改成nginx,因为我们需要使用nginx作为web服务端。
user = nginx
group = nginx
user和group都要改成nginx。修改完毕之后按esc键,:wq 保存退出文件。

如果你在安装 WordPress 时无法创建目录,要确保wp文件存放目录的用户组,nginx 的用户组还有PHP的用户组必须在同一用户下才可以。
修改web文件存放目录的用户访问权限。
修改PHP的主程序配置文件。
cgi.fix_pathinfo 为 CGI 提供 *real* PATH_INFO/PATH_TRANSLATED 支持。 PHP的以前的行为是将 PATH_TRANSLATED 设置为 SCRIPT_FILENAME,而不是 grok PATH_INFO 是什么。有关 PATH_INFO 的更多信息,请参阅 cgi 规范。环境 this 为 1 将导致 PHP CGI 修复其路径以符合规范。一个设置为零会导致 PHP 的行为与以前一样。默认值为 1。你应该修复你的脚本使用 SCRIPT_FILENAME 而不是 PATH_TRANSLATED。http://php.net/cgi.fix-pathinfo
cgi.fix_pathinfo = 1 修改为0
上传文件的最大允许大小。
http://php.net/upload-max-filesize
upload_max_filesize = 2M 文件上传大小,默认值太小,建议修改为1024M
此指令控制PHP是否输出错误,笔记和警告也是如此。错误输出在开发过程中非常有用,但是在生产环境中可能非常危险。取决于代码这是触发错误,敏感信息可能会泄漏超出您的应用程序,如数据库用户名和密码或更糟糕的。
对于生产环境,我们建议记录错误而不是将它们发送到stdout。
可能的值:
off =不显示任何错误
stderr = 向 STDERR 显示错误(仅影响 CGI/CLI 二进制文件!)
On 或 stdout = 向 STDOUT 显示错误
默认值:开
发展价值:上
生产价值:关闭
http://php.net/display-errors
display_errors = Off 打印错误,修改为On
PHP 将接受的 POST 数据的最大大小。
它的值可能为 0 以禁用限制。如果 POST 数据读取将被忽略通过 enable_post_data_reading 禁用。
http://php.net/post-max-size
post_max_size = 8M 表单最大值,建议修改为32M
每个脚本的最大执行时间,以秒为单位
http://php.net/max-execution-time
注意:对于 CLI SAPI,此指令硬编码为 0
max_execution_time=30 php脚本最大执行时间,修改为300或更高
PHP已经配置完成了,最后一步,设置开机启动和运行服务。
常用操作命令:
重启PHP:
启动PHP:
关闭PHP:
PHP状态:
PHP版本降级
有些 web 网站程序缺少维护,兼容性差,仅仅支持低版本的 PHP,对于这样的web需求并满足相互兼容,需要将 PHP 版本向下降级。例如有些使用 SG11 进行加密的PHP程序。
SG11 是 SourceGuardian 11的简称,目前 SourceGuardian官方版本已经更新到 SourceGuardian 13 ,最关键的是两个版本的文件并不通用,而 SG11 对PHP加密最高版本是PHP 7.3,所以需要安装 SG11 的web程序时,PHP的版本不能高于7.3 。
首先需要停止 PHP-FPM 及 Nginx 服务。
服务停止之后,将/etc/php.ini文件下载保存到本地,不然降级之后还需要重新修改php.ini文件。
如果你没有安装 yum-utils,需要安装 yum-utils 。
yum-utils 是一个与 yum 集成的实用程序集合,可以通过多种方式扩展 yum 的自带功能,从而使 yum 更强大、更易于使用。
卸载删除服务器上安装的PHP

查看PHP的仓库中存在的PHP模块
因为之前模块流启用的是php7.4,如果想安装 php7.3 需要重置PHP模块
启用php7.3模块流。

PHP7.3 模块流启用之后,下面进行安装 PHP7.3
之后使用 php -v 名称查看一下php版本。已经变成php7.3了。

php7.3安装完毕后,将之前备份的php.ini文件覆盖到/etc/php.ini,之后修改 /etc/php-fpm.d/www.conf 文件内的用户与用户组的名称为nginx。
user = nginx
group = nginx
上面操作全部完毕后,最后启动php与nginx服务。
缺少mb_strlen函数,如何安装mbstring(mb_strlen )
php7.2版本中默认没有安装mb_strlen函数,需要使用dnf进行安装。首先搜索一下 php-mbstring
搜索后进行安装。

PHP安装zip扩展
有些web程序需要php的ZIP扩展。需要安装 php-pecl-zip

扩展安装完毕之后重新启动php服务
Remi存储库安装PHP7.2
PHP 7.x软件包可在几个不同的存储库中使用。我们将使用 Remi存储库,其中提供了包括PHP在内的各种软件包的较新版本。
Remi存储库取决于 EPEL存储库。运行以下命令以启用EPEL和Remi存储库:
启用Remi存储库
检查系统中启用软件仓库
之后检查一下仓库中的php模块。

安装remi-7.2,需要重置php模块。
重置模块后,选择remi-7.2的模块流。
下面开始安装php remi-7.2
RHEL 8安装nginx
执行下面命令,获取可用的nginx模块流的列表。

系统默认的是nginx的1.14版本,如果想安装更高的版本,需要重置一下nginx模块。

重置模块之后,我们就可以选择想安装的版本了,例如想安装1.20版本。你只需要启用1.20版本的模块流就可以了。
模块流启用只有,使用 dnf install 命令来安装nginx1.20版。

设置一下nginx的开启启动,nginx服务运行。
安装完毕后,使用 netstat 查看一下当前端口占用情况
如果提示未找到命令,“-bash: netstat: 未找到命令”还需要安装一下网络组件工具 net-tools

通过端口查看,我们可以看到,80端口已经北nginx占用,nginx服务安装成功。
常用命令:
重启:
启动:
关闭:
状态:
配置Nginx
编辑Nginx配置文件nginx.conf,如果想让web网站正常访问,需要编辑修改 Nginx 的配置文件 nginx.conf,nginx.conf 是 Nginx 的核心配置文件。使用 VI 命令编辑 /etc/nginx/nginx.conf。
user nginx;
#允许生成的进程数,默认为1
worker_processes auto;
#制定错误日志路径,级别。这个设置可以放入全局块,http块,server块,级别依次为:debug|info|notice|warn|error|crit|alert|emerg,级别越高,记录越少,一般设置error
error_log /var/log/nginx/error.log error;
#指定nginx进程运行文件存放地址
pid /var/run/nginx.pid;
#加载动态模块
include /usr/share/nginx/modules/*.conf;
#工作模式及连接数上限-events全局设置
events {
#单个work进程允许的最大连接数,默认为512
worker_connections 1024;
}
#http服务器配置文件块
http {
#文件扩展名与文件类型映射表。设定mime类型(邮件支持类型),类型由mime.types文件定义。
include /etc/nginx/mime.types;
#默认文件类型,默认为text/plain
default_type application/octet-stream;
#自定义日志格式
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
#设置访问日志路径和格式。combined为日志格式的默认值。
access_log /var/log/nginx/access.log main;
#允许sendfile方式传输文件,默认为off,可以在http块,server块,location块。
sendfile on;
#tcp_nopush on;
#连接超时时间,默认为75s,可以在http,server,location块。
keepalive_timeout 65;
#gzip压缩开关,on开启Gzip压缩,默认 off 关闭
gzip on;
#启用gzip压缩的最小文件,小于设置值的文件将不会压缩
gzip_min_length 10k;
#gzip 压缩级别,1-9,数字越大压缩的越好,也越占用CPU时间
gzip_comp_level 6;
#设置压缩所需要的缓冲区大小
gzip_buffers 32 4k;
# 设置gzip压缩针对的HTTP协议版本,没做负载的可以不用
gzip_http_version 1.1;
#进行压缩的文件类型。javascript有多种形式。其中的值可以在 mime.types 文件中找到。
gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png application/vnd.ms-fontobject font/ttf font/opentype font/x-woff image/svg+xml;
#是否在http header中添加Vary: Accept-Encoding,建议开启
gzip_vary on;
#从 /etc/nginx/conf.d 目录加载模块化配置文件。
include /etc/nginx/conf.d/*.conf;
}
上面是Nginx比较简单的基本配置,Server网站配置存放在 /etc/nginx/conf.d/ 目录下。
下面编辑Server网站配置,用于生产环境的Server网站配置。
server {
server_name www.uzvod.com; # 网站的域名,可以是多个,用空格分开
return 301 http://uzvod.com$request_uri;
}
#前期配置nginx暂时还没有ssl证书,301重定向到根域名。
#网站配置核心块
server {
server_name uzvod.com;
root /var/www/uzvod;
index index.php index.html index.htm;
location ~* ^/(upload|vendor|thinkphp|extend|addons|application)/.*\.(php|php5)$
{
deny all;
}
include /etc/nginx/default.d/*.conf; # 从 /etc/nginx/default.d 加载默认服务器块的配置文件。
#伪静态页
location / {
if (!-e $request_filename) {
rewrite ^/index.php(.*)$ /index.php?s=$1 last;
rewrite ^/admin.php(.*)$ /admin.php?s=$1 last;
rewrite ^/api.php(.*)$ /api.php?s=$1 last;
rewrite ^(.*)$ /index.php?s=$1 last;
break;
}
}
}
添加好配置后,重新启动nginx服务
新建一个测试页面 index.php,将下面内容复制在文件中,这是一个PHP探针文件。
<?php
phpinfo();
?>
重新给目录配置权限
访问域名后,网站可以成功打开了,记下来需要在线申请ssl域名证书。然后在nginx中配置域名证书。
通过下面的证书机器人,已经成功申请了ssl域名证书,下面修改Nginx中Server的配置文件。
server {
listen 80;
listen [::]:80;
server_name www.uzvod.com uzvod.com; # 网站的域名,可以是多个,用空格分开
return 301 https://uzvod.com$request_uri;
ssl_certificate /etc/letsencrypt/live/uzvod.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/uzvod.com/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
#网站配置核心块
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name uzvod.com;
root /var/www/uzvod;
index index.php index.html index.htm;
http2_push_preload on; # Enable HTTP/2 Server Push
ssl_certificate /etc/letsencrypt/live/uzvod.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/uzvod.com/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
# Enable TLS versions (TLSv1.3 is required upcoming HTTP/3 QUIC).
# Enable TLSv1.3's 0-RTT. Use $ssl_early_data when reverse proxying to
# prevent replay attacks.
#
# @see: https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_early_data
ssl_early_data on;
ssl_session_cache shared:SSL:50m;
# HSTS (ngx_http_headers_module is required) (15768000 seconds = 6 months)
add_header Strict-Transport-Security max-age=31536000;
# OCSP Stapling ---
# fetch OCSP records from URL in ssl_certificate and cache them
ssl_stapling on;
ssl_stapling_verify on;
include /etc/nginx/default.d/*.conf; # 从 /etc/nginx/default.d 加载默认服务器块的配置文件。
location ~* ^/(upload|vendor|thinkphp|extend|addons|application)/.*\.(php|php5)$
{
deny all;
}
#伪静态页
location / {
if (!-e $request_filename) {
rewrite ^/index.php(.*)$ /index.php?s=$1 last;
rewrite ^/admin.php(.*)$ /admin.php?s=$1 last;
rewrite ^/api.php(.*)$ /api.php?s=$1 last;
rewrite ^(.*)$ /index.php?s=$1 last;
break;
}
}
#反向代理
location /chat886 {
proxy_redirect off;
proxy_pass http://127.0.0.1:12345;
proxy_http_version 1.1;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
# Config for 0-RTT in TLSv1.3
proxy_set_header Early-Data $ssl_early_data;
}
}
添加好配置后,重新启动nginx服务
注意:Nginx配置成功之后,再使用下面的Certbot生成ssl域名证书,在Nginx中先不配置SSL访问规则。
Nginx通过Certbot生成SSL域名证书
Certbot 是一个免费的开源软件工具,用于在手动管理的网站上自动使用Let's Encrypt证书以启用 HTTPS。
Certbot 由电子前沿基金会 (EFF) 开发,这是一家位于加利福尼亚州旧金山的 501(c)3 非营利组织,旨在捍卫数字隐私、言论自由和创新。
Nginx配置好后,可以通过ssl域名证书机器人Certbot生长城ssl域名证书。具体安装方法请查看:
>免费SSL证书机器人:Certbot快速申请自动续订https域名证书
RHEL 8安装MySQL
获取mysql的模块

MySQL8.0是服务器上唯一的版本,下面进行安装MySQL8.0
使用dnf install mysql和dnf install @mysql安装是不同的,@mysql安装软件包会更多一些。

安装完毕后设置MySQL开机启动
之后检查一下MySQL运行是否正常。
绿灯正常,红灯故障,MySQL运行正常。

添加密码及安全设置
运行 mysql_secure_installation 脚本,该脚本执行一些与安全性相关的操作并设置MySQL根密码。

脚本运行后,会询问你是否配置VALIDATE PASSWORD component(验证密码组件),这一步选择Y。
选择密码验证策略等级,选择0 (low)。
设置MySQL密码,这里输入需要设置的密码两次。
确认是否继续使用提供的密码?输入Y。
移除匿名用户? 输入Y。
允许root远程登陆? 输入N 。
移除test数据库? 输入Y。
重新载入权限表? 输入Y。

配置Mysql远程登陆,如果需要设置root账户远程登陆,重复上面步骤,在允许root远程登陆这一步设为Y。如果暂时不需要配置Mysql远程登陆,此段话可以忽略。
MySQL 在初始化完成之后,需要登录 MySQL进行验证
使用下面命令登录,并输入密码:
登录没有异常,并可以显示mysql>操作台的话,配置安装已经成功了。

你可以在MySQL操作台上新建用户,也可以使用MySQL管理工具来新建用户或者数据库。
MySQL操作台新建用户的方法
创建新用户,用以远程登录
UserName 处填写你的用户名,Host 处填写 IP ,如 8.8.8.8 ,表示该用户只能在 8.8.8.8 这个 IP 上登录,若不限制IP登录,Host处填 % ,Password 处填写你的密码。
给新创建的用户授予权限,这里的 UserName 和 Host 都和上一步创建的用户一样。
测试远程登录是否可用就好,以防万一,下面更改密码的MySQL语句:
到此为止 MySQL 已经安装完成,如果对配置文件有额外需求的话,请更改 /etc/my.cnf 中的配置文件。
上面设置都完成之后,重新启动MySQL服务。
MySQL 常用命令
启动 MySQL
重启MySQL
停止 MySQL
查看 MySQL 状态
RHEL 8安装 phpMyAdmin
phpMyAdmin 是一个用PHP编写的免费软件工具,旨在 通过 Web处理MySQL的管理。phpMyAdmin 支持对 MySQL 和 MariaDB 的广泛操作。常用操作(管理数据库、表、列、关系、索引、用户、权限等)可以通过用户界面执行,同时您仍然可以直接执行任何 SQL 语句。
phpMyAdmin是MySQL的管理工具,phpMyAdmin网站:https://www.phpmyadmin.net/
安装wget下载命令。
下载最新版本的phpMyAdmin-5.1.3,注意下载tar.gz格式的压缩包。
解压缩phpMyAdmin-5.1.3文件。
将文件夹改名,这个名字你可以随后定义。这里默认更改成phpMyAdmin。
将文件移动到web存放目录。
注意,如果你之前没有安装php-mysqlnd扩展,还需要安装php-mysqlnd扩展。
配置phpMyAdmin
进入到phpMyAdmin目录下的libraries目录内,VI编辑config.default.php文件
将host后面的localhost修改为127.0.0.1,注意,不要使用小键盘输入数字。
将$cfg['Servers'][$i]['host'] = 'localhost';改成$cfg['Servers'][$i]['host'] = '127.0.0.1';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'mysql密码';
将$cfg['blowfish_secret'] = ''; 改成 $cfg['blowfish_secret'] = '123456*******';
注意:其中的'123456*******′为随意的大于32个字符的密码。
修改之后保存退出,:qw
返回到phpMyAdmin主目录下,将配置文件 config.sample.inc.php 改名。
VI编辑配置文件config.inc.php。
修改phpMyAdmin用于cookies的短密码。
$cfg['blowfish_secret'] = ''; 改成 $cfg['blowfish_secret'] = '123456*******';
注意:其中的'123456*******′为任意大于32位的密码字符。
这个密码用于Cookies的加密,以免多个PhpMyAdmin或者和其他程序共用Cookies时搞混。
短密码修完完毕后,修改host选项,将 $cfg['Servers'][$i]['host'] = 'localhost'; 改成 $cfg['Servers'][$i]['host'] = '127.0.0.1';
修改session路径(例如/var/lib/php/session)的用户组以及权限,然后去到相应session路径。
在phpmyadmin目录下新建tmp文件夹,权限设置777
最后修改一下phpMyAdmin文件存放目录的用户访问权限。
解决phpMyAdmin中高级功能尚未完全设置,部分功能未激活的问题。
在phpMyAdmin里点击创建一个phpmyadmin的空数据库就可以解决了。最后在Nginx中配置phpMyAdmin的访问路径后就可以正常访问了。
RHEL 8安装 Wordpress
首先下载最新版本的WordPress。
下载完毕后解压缩文件。
移动文件夹到网站目录下
将wp-config-sample.php文件改名
修改网站配置文件:
WordPress数据库的名称:define( 'DB_NAME', 'WordPress' );
MySQL数据库用户名:define( 'DB_USER', 'root' );
MySQL数据库密码:define( 'DB_PASSWORD', 'mysql密码' );
MySQL主机:define( 'DB_HOST', '127.0.0.1' );
创建数据表时默认的文字编码:define( 'DB_CHARSET', 'utf8' );
在文件末尾添加以下代码:
修改好配置文件后,重新加用户权限!
在nginx的配置文件中,加入下面代码,用于伪静态的插件安装:
listen 80;
listen [::]:80;
listen 443 ssl http2;
server_name www.uzbox.tk; # 你的域名
return 301 https://uzbox.tk$request_uri; # 将www域名301重定向到uzbox.tk
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name uzbox.tk;
root /home/wwwroot;
ssl_certificate "/home/ssl/fullchain.cer";
ssl_certificate_key "/home/ssl/uzbox.tk.key";
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 10m;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+ECDSA+AES128:EECDH+aRSA+AES128:RSA+AES128:EECDH+ECDSA+AES256:EECDH+aRSA+AES256:RSA+AES256:EECDH+ECDSA+3DES:EECDH+aRSA+3DES:RSA+3DES:!MD5;
ssl_prefer_server_ciphers on;
# Config for 0-RTT in TLSv1.3
ssl_early_data on;
ssl_stapling on;
ssl_stapling_verify on;
add_header Strict-Transport-Security "max-age=31536000";
location / {
index index.php index.html index.htm;
try_files $uri $uri/ /index.php?$args; #用来支持wordpress中伪静态的设置。
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
添加好配置后,重新启动nginx服务
最后在MySQL中创建一个的wordpress的数据库。
例如:WordPress数据库的名称:define( 'DB_NAME', 'WordPress123' );
你需要在MySQL中使用命令或者phpmyadmin中创建一个名字为WordPress123的数据库,否在打开站点会提示数据库连接出错。
配置好数据库,登录wordpress页面,输入你的站点名称,用户帐号密码等相关内容后,站点创建成功,登录到站点后台后,首先要修改WordPress的固定链接,进入后台,打开设置固定链接。
自定义结构后面填入%category%/%post_id%
安装“No Category Base”插件用来去掉分类目录/category/
剩余详细配置请参考站内的内容。