一、安装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新密码,如图
随后,会选择是否删除匿名用户(不需要账户就可以登入mysql),这里选择y,如图
接着,root用户只允许连接‘localhost’,这可以防止其他用户通过远程登录到root,这里依据自己的情况选择,在项目中,我需要通过远程登录root用户,所以这里选了n,如图:
后面,删除测试数据库,选y就行
最后选择数据库即时更新:
3、mysql创建用户
#root用户登录
mysql -u root -p
create database cxl charset utf8;
#列出数据库(如下图)
show databases;
#重启数据库
service mysqld restart
更详细的内容参考: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
修改如下:
保存退出后,对该配置文件重命名
mv wp-config-sample.php wp-config.php
2、nginx的修改
根据自己的WordPress目录修改nginx的配置,如下图所示:
以及php的cgi设置:
每一次修改完nginx的配置,都记得要重启服务。
访问自己的IP/域名,可以看到如下界面:
以上内容参考(很有用的一篇文档):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权限详解
其次,进入www目录以后,wordpress的用户组和权限如图:
进入wordpress目录下,各文件权限如图,特别注意wp-content文件夹,因为主题上面的问题基本都是这个文件夹导致的:
最后,进入wp-content目录,各文件的权限如下:
以上都是修改完以后的权限设置,在这种情况下访问域名/IP和修改主题都没有问题。
3、访问IP/域名时出现空白的前后台
出现这种情况一般都是在添加完一种新的主题之后应用时导致的,这种情况可能是因为所启用的主题和插件、wordpress自身兼容性问题,具体参考:WordPress错误:前后台一片空白
我解决办法没有上面文档里那么复杂,直接跳过首页访问主题安装的界面,我记录下了安装主题页面的链接,我的是https://www.hustercxl.com/wp-admin/theme-install.php,直访之后重新安装一个主题问题就解决了,当然也可以尝试文档里的办法。
最后,各种问题都解决完之后,访问自己的域名,可以看到自己设置的主题风格如下