centos7云主机nginx+WordPress完整建站流程记录

一、安装nginx

1、安装依赖

#安装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 

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 

baseurl=http://nginx.org/packages/OS/OSRELEASE/$basearch/中的“OS”该为“centos”(取决于你的系统),用“7”(取决于你的版本)替换“OSRELEASE”,然后wq保存退出,运行:

yum install nginx

3、启动nginx并通过浏览器访问

#启动nginx
cd /usr/sbin
./nginx
#打开防火墙80端口
firewall-cmd --zone=public --add-port=80/tcp --permanent 
#重启防火墙  
firewall-cmd --reload
#之后浏览器访问服务器IP就可以了

4、nginx常用命令

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

二、为nginx配置SSL

1、配置SSL使nginx以https进行访问

此处参考另一篇文档:Vultr云主机+Godaddy域名+阿里SSL配置Nginx的https访问(包含docker配置方法)

2、将http自动跳转为https

网上流传的文档很多,基本都是三种方式,rewrite方法、状态码返回法以及index页面刷新法,这里我使用了状态返回码的方法,nginx.conf的配置如下(根据自己的需要适当修改):

server {
    listen 80;
    server_name www.hustercxl.com;
    return 301 https://www.hustercxl.com$request_uri;
}
server {
    listen      443;
    server_name  www.hustercxl.com;
    ssl on;
    root /usr/share/nginx/html;
    index index.html index.htm;
    ssl_certificate cert/XXXXXX2080535.pem;
    ssl_certificate_key cert/XXXXX2080535.key;
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    error_page  500 502 503 504 /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

三、mysql的安装和配置

1、安装

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、mysql的初始化设置

#运行下面命令进入初始化设置
mysql_secure_installation
首先是设置root密码,初次登录时默认为空,直接点回车,然后输入两次root新密码,如图

centos7云主机nginx+WordPress完整建站流程记录_第1张图片

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

centos7云主机nginx+WordPress完整建站流程记录_第2张图片

接着,root用户只允许连接‘localhost’,这可以防止其他用户通过远程登录到root,这里依据自己的情况选择,在项目中,我需要通过远程登录root用户,所以这里选了n,如图:


后面,删除测试数据库,选y就行


最后选择数据库即时更新:

centos7云主机nginx+WordPress完整建站流程记录_第3张图片

3、mysql创建用户

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

centos7云主机nginx+WordPress完整建站流程记录_第4张图片

更详细的内容参考:How to Install MySQL on CentOS 7

四、php、Vsftpd的安装配置

1、php安装与配置

#先安装php-mysql和php-fpm,如果已有,则跳过
yum –y install php-mysql
yum –y install php-fpm
#运行
yum -y install php*

如果出现下面错误:


则按照提示,添加参数,运行:

yum -y install php* --skip-broken

没有错误,则跳过此处

#配置
#打开配置文件
vi /etc/php.ini
#添加:
extension=mysql.so
#在PHP.ini 中找到如下extension_dir = "XXXXXXX"的文本,设置为
extension_dir = "/usr/lib64/php/modules"
#重启php服务
service php-fpm restart

2、Vsftpd安装与配置

#安装
yum -y install vsftpd
#启动服务
service vsftpd start
#配置
#为ftp创建用户cxl,指定目录/cxldata/www/
useradd -d /cxldata/www/ -s /sbin/nologin cxl
#设置密码
passwd cxl
#New password:
#Retype new password:
vi /etc/vsftpd/vsftpd.conf
#将匿名登录禁用
anonymous_enable=NO
#保存退出后,给www目录设置读写权限
chmod -R 777 /cxldata/www/
#重启
service vsftpd restart

五、WordPress的安装及相关配置

1、WordPress安装和配置

#安装
#进入目录
cd /cxldata/www/
#下载
wget https://cn.wordpress.org/wordpress-4.3.1-zh_CN.zip
#解压,没有uzip命令运行yum install -y unzip zip安装
unzip wordpress-4.3.1-zh_CN.zip 

随后进行配置文件的修改:

vi /cxldata/www/wordpress/wp-config-sample.php

修改如下:

centos7云主机nginx+WordPress完整建站流程记录_第5张图片

保存退出后,对该配置文件重命名

mv wp-config-sample.php wp-config.php

2、nginx的修改

根据自己的WordPress目录修改nginx的配置,如下图所示:

centos7云主机nginx+WordPress完整建站流程记录_第6张图片

以及php的cgi设置:

centos7云主机nginx+WordPress完整建站流程记录_第7张图片

每一次修改完nginx的配置,都记得要重启服务。

访问自己的IP/域名,可以看到如下界面:

centos7云主机nginx+WordPress完整建站流程记录_第8张图片

以上内容参考(很有用的一篇文档):30分钟建好WordPress——Nginx搭建WordPress超详细教程

六、WordPress安装后可能遇到的问题

1、ftp登录时问题

安装主题时需要ftp情况,这里不管怎么输入都显示用户名或密码错误,这不是账户密码本身的问题,解决办法只需要修改一些配置就好(参考:解决安装WORDPRESS主题提示FTP登录问题)

#进入网站目录
cd /cxldata/www/wordpress
vi wp-config.php
#添加三行
define("FS_METHOD", "direct"); 
define("FS_CHMOD_DIR", 0777);  
define("FS_CHMOD_FILE", 0777);

2、添加主题或插件提示无法创建目录

很多文档说给WordPress目录777的权限,但是这样存在问题,最好是给对应的文件夹以不同的权限

首先,是网站根目录,我的是/cxl/www,它的权限如图,注意这里的用户和组都是cxl,权限是777,对应权限值不明白的话参考:Linux权限详解

centos7云主机nginx+WordPress完整建站流程记录_第9张图片

其次,进入www目录以后,wordpress的用户组和权限如图:


进入wordpress目录下,各文件权限如图,特别注意wp-content文件夹,因为主题上面的问题基本都是这个文件夹导致的:

centos7云主机nginx+WordPress完整建站流程记录_第10张图片

最后,进入wp-content目录,各文件的权限如下:

centos7云主机nginx+WordPress完整建站流程记录_第11张图片

以上都是修改完以后的权限设置,在这种情况下访问域名/IP和修改主题都没有问题。

3、访问IP/域名时出现空白的前后台

出现这种情况一般都是在添加完一种新的主题之后应用时导致的,这种情况可能是因为所启用的主题和插件、wordpress自身兼容性问题,具体参考:WordPress错误:前后台一片空白

我解决办法没有上面文档里那么复杂,直接跳过首页访问主题安装的界面,我记录下了安装主题页面的链接,我的是https://www.hustercxl.com/wp-admin/theme-install.php,直访之后重新安装一个主题问题就解决了,当然也可以尝试文档里的办法。

最后,各种问题都解决完之后,访问自己的域名,可以看到自己设置的主题风格如下

centos7云主机nginx+WordPress完整建站流程记录_第12张图片







你可能感兴趣的:(教程类,问题解决办法类)