1.准备编译环境
检查防火墙状态
systemctl status firewalld
- 如果防火墙非active 则防火墙已关闭
- 如果防火墙为active 则需要关闭防火墙
systemctl stop firewalld
- 如需永久关闭防火墙
systemctl disable firewalld
检查SELINUX状态
getenforce
- 如果SELINUX状态参数是Disabled,则SELINUX为关闭状态
- 如果SELINUX状态参数是Enforcing,则SELinux为开启状态
可以使用下面命令临时关闭SELINUX
setenforce 0
如需永久修改 需要在配置文件vim /etc/selinux/config修改
SELINUX=enforcing改为SELINUX=disabled即可
1.1.0 安装Nginx
如果想使用其他版本Nginx 可以通过开源社区下载对应版本安装包URL
wget http://nginx.org/download/nginx-1.x.x.tar.gz
运行以下命令,安装Nginx相关依赖
yum install -y gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
解压Nginx压缩包 进入到Nginx所在目录 做软连接后编译安装
tar zxvf nginx-1.x.x.tar.gz -C /opt/
ln -s /opt/nginx-1.x.x /opt/nginx
cd /opt/nginx
./configure \
--user=nobody \
--group=nobody \
--prefix=/usr/local/nginx \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-http_realip_module \
--with-http_sub_module \
--with-http_ssl_module
make && make install
添加到systemctl里 让其可以使用system启动
vim /usr/lib/systemd/system/nginx
[Unit] ###服务的说明
Description=nginx ###描述服务
After=network.target ###描述服务类别
[Service] ###服务运行参数的设置
Type=forking ###是后台运行的形式
ExecStart=/usr/local/nginx/sbin/nginx ###为服务的具体运行命令
ExecReload=/usr/local/nginx/sbin/nginx -s reload ###为重启命令
ExecStop=/usr/local/nginx/sbin/nginx -s quit ###为停止命令
PrivateTmp=true ###表示给服务分配独立的临时空间
[Install] ###运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3
WantedBy=multi-user.target ###
使用本机浏览器访问主机IP 如提示欢迎使用Centos 则表示Nginx安装成功
启动并设置开机自启Nginx
systemctl start nginx.service
systemctl enable nginx.service
1.1.1 安装Mysql客户端连接RDS进行测试
安装mysql客户端 使其可以远程登录到数据库
yum -y install mysql
-
安装完成后测试远端数据库是否可以正常登陆
mysql -u用户名 -h远端数据库地址 -P端口 -p密码-
注意一个大写P另一个是小写的p
-
如无法正常登陆 需检查数据库白名单设置中是否添加轻量级服务器地址 再检查端口是否正确
-
- 远端数据库地址需申请外网地址 申请通过后即可正常访问到数据库内部
1.1.2 安装PHP
更新YUM源
- 运行以下命令添加epel源
yum install \
https://repo.ius.io/ius-release-el7.rpm \
https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
- 运行以下命令添加Webtatic源
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
使用YUM安装PHP
yum -y install php70w-devel php70w.x86_64 php70w-cli.x86_64 php70w-common.x86_64 php70w-gd.x86_64 php70w-ldap.x86_64 php70w-mbstring.x86_64 php70w-mcrypt.x86_64 php70w-pdo.x86_64 php70w-mysqlnd php70w-fpm php70w-opcache php70w-pecl-redis php70w-pecl-mongodb
查看PHP版本 如显示以下内容 则证明安装成功
php -v
启动并设置开机自启PHP
systemctl start php-fpm
systemctl enable php-fpm
1.1.3 远程连接RDS创建wordpress数据库
进入Mysql数据库
mysql -u用户名 -h远端数据库地址 -P端口 -p密码
进入后创建wordpress数据库
MySQL [(none)]>create database wordpress;
增加新用户www 密码为123456
MySQL [(none)]>create user \'www\'@\'localhost\' identified by \'123456\';
授予用户www对数据库wordpress表的所有权限
MySQL [(none)]>grant all privileges on wordpress.* to \'www\'@\'localhost\';
刷新权限
MySQL [(none)]>flush privileges;
MySQL [(none)]>exit ###退出
1.1.4 安装wordpress并配置
使用YUM下载wordpress
yum -y install wordpress
将下载下得wordpress目录移动至nginx网站根目录下
mv /usr/share/wordpress /usr/local/nginx/html
- yum安装的wordpress默认路径在/usr/share/wordpress
移动后将/etc/wordpress下的配置文件wp-config.php做软链接
cd /usr/local/nginx/html/wordpress
ln -snf /etc/wordpress/wp-config.php wp-config.php
编辑wp-config.php
vim wp-config.php
// ** MySQL 设置 - 具体信息来自您正在使用的主机 ** //
/** WordPress数据库的名称 */
define(\'DB_NAME\', \'wordpress\');
/** MySQL数据库用户名 */
define(\'DB_USER\', \'www\');
/** MySQL数据库密码 */
define(\'DB_PASSWORD\', \'123456\');
/** MySQL主机 */
define(\'DB_HOST\', \'远端数据库外网地址\');
完成后:wq退出
创建一个www用户并修改Nginx配置文件
useradd -s /sbin/nologin -M www
打开Nginx配置文件
vim /usr/local/nginx/conf/nginx.conf
user www; #### user修改为www
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
#除下面提及的需要添加的配置信息外,其他配置保持默认值即可
server {
listen 80;
listen [::]:80;
server_name _;
root /usr/local/nginx/html/wordpress; ####替换成网站根目录
#将location / 大括号内的信息修改为以下所示,配置网站被访问时的默认首页。
location / {
index index.php index.html index.htm;
}
#添加下列信息,配置Nginx通过fastcgi方式处理您的PHP请求。
location ~ .php$ {
root /usr/local/nginx/html/wordpress; ####替换成你的网站根目录
fastcgi_pass 127.0.0.1:9000; #Nginx通过本机的9000端口将PHP请求转发给PHP-FPM进行处理。
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params; #Nginx调用fastcgi接口处理PHP请求。
}
- 除了修改user以外 其余内容都必须在server里添加修改 修改的内容用####表示
登陆并安装wordpress网站
- 物理机上用浏览器访问轻量级服务器IP地址
- 填写基本信息 安装wordpress
参数详解:
站点标题(wordpress网站名称)
用户名(用户登陆wordpress时使用的用户)
密码
电子邮箱
常见问题
1.参考自阿里产品文档
- 问题描述1:WordPress中设置固定链接后,跳转页面无法访问
在/usr/local/nginx/conf/nginx.conf里添加以下内容
if (-f $request_filename/index.html){ ##### 在location /大括号内添加
rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
rewrite (.*) $1/index.php;
}
if (!-f $request_filename){
rewrite (.*) /index.php;
}
systemctl restart nginx #####重启nginx
- 问题描述2:WordPress中更新版本、上传主题或插件时,提示需要FTP登录凭证或无法创建目录。
在/usr/local/nginx/html/wordpress/wp-config.php里添加以下内容
define("FS_METHOD","direct"); ###最下方添加即可
define("FS_CHMOD_DIR", 0777);
define("FS_CHMOD_FILE", 0777);
如果仍存在无法创建目录的问题,需再次返回ECS实例,运行以下命令,将网站根目录的权限用户更新为www对应的用户,本示例环境中为
www用户。
chown -R www /usr/local/nginx/html/wordpress/
2.可能遇到的问题
- 问题描述:在前端修改了wordpress的URL 出现无法登陆的情况
在服务器终端打开数据库
mysql -u用户名 -h远端数据库地址 -P端口 -p密码
show databases; ##查看数据库
USE wordpress; ##切换到wordpress库里
show tables; ##查看所有的表 信息储存在wp_options表中
select * from wp_options limit 5; ##使用命令查看表前五行
UPDATE wp_options SET option_value="修改后的url" WHERE option_name="siteurl" OR option_name="home"; ##修改相应的URL
select * from wp_options limit 5; ##查看修改后的信息