lzp1998

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.参考自阿里产品文档

地址:https://help.aliyun.com/document_detail/151691.html?spm=5176.21213303.J_6028563670.7.37673edaohzzfG&scm=20140722.S_help%40%40文档%40%40151691.S_hot%2Bos0.ID_151691-RL_搭建wordpress-OR_main-V_2-P0_0

  • 问题描述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;  ##查看修改后的信息

分类:

技术点:

相关文章: