CentOS 7.4 基于LNMP搭建wordpress
之前有好多次搭建wordpress的经历,有在Ubuntu系统上,有在CentOS7.2系统上,但都是搭完还是稀里糊涂的,因为好多都是教程上照着敲的。这次好好出个教程,以便以后方便查看。
- 准备工作:CentOS7.4操作系统平台
首先,
1 关 闭 防 火 墙:systemctl stop firewalld 2 永久关闭防火墙:systemctl disable firewalld 3 关 闭selinux:setenforce 0 4 永久关闭selinux:vim /etc/sysconfig/selinux 使SELINUX=disable
搭建LNMP(Linux,Nginx,mysql,php),这个架构
准备好yum源,可以更换国内的yum源,如(163源,阿里源,网易源,或知名大学的源),见更换方法。
还有添加yum的拓展源,见添加方法。
准备好yum源后,开始安装
- 安装Nginx
#添加拓展源后才可以直接yum安装Nginx
1 yum -y install nginx
- 安装MySQL
这里需要说明一下,直接yum安装mysql的话安装的是MySQL的子产品mariadb,不过它既然是MySQL的子产品,那用法和本质都差不多,本人也没有过多研究,若始终中意MySQL的话那就执行下面操作:(这个是把MySQL的原rpm包调用,使得用yum可以直接安装MySQL,并替换原有的mariadb)
1 wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm 2 yum -y install mysql57-community-release-el7-10.noarch.rpm 3 yum -y install mysql-community-server 4 #下面这条命令是在安装MySQL后移除原rpm包的调用,因为安装了Yum Repository,以后每次yum操作都会自动更新,比较耗时,需要把这个卸载掉 5 yum -y remove mysql57-community-release-el7-10.noarch
- 安装PHP
1 yum -y install php php-fpm php-mysql
OK,完成以上操作后LNMP架构就算安装好了,接下来配置:
- 配置Nginx
说明一下:
Nginx的配置文件是/etc/nginx/nginx.conf
Nginx的默认网站目录是/usr/share/nginx/html
Nginx的默认端口号是 80 端口
1 启动:systemctl start nginx 2 关闭:systemctl stop nginx 3 重启:systemctl restart nginx 4 设置开机自启:systemctl enable nginx
Nginx服务开启后访问一下效果:
实现Nginx支持PHP解析:
1 vim /etc/nginx/nginx.conf 2 #在server段里面添加以下内容:(注意不要把内容添加到server段内的其他段,这段相对于server段内的其他段独立) 3 if (-f $request_filename/index.html){ 4 rewrite (.*) $1/index.html break; 5 } 6 if (-f $request_filename/index.php){ 7 rewrite (.*) $1/index.php; 8 } 9 if (!-f $request_filename){ 10 rewrite (.*) /index.php; 11 } 12 rewrite /wp-admin$ $scheme://$host$uri/ permanent; 13 location ~ \.php$ { 14 root html; 15 fastcgi_pass 127.0.0.1:9000; 16 fastcgi_index index.php; 17 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 18 include fastcgi_params; 19 }
重启Nginx
然后开启php-fpm,nginx就可以访问php的页面了
测试一下:
在nginx的默认网站目录里写个php测试页
1 vim /usr/share/nginx/html/test.php 2 3 test.php测试页内容 4 <? php phpinfo (); ?>
打开浏览器输入IP或localhost/test.php效果如下:
- 配置MySQL
开启MySQL服务:systemctl start mysqld
这种方法安装的MySQL,登录时需要在日志中找到密码: 1 [root@localhost ~]# grep "password" /var/log/mysqld.log
输出结果第一行的localhost:后面的就是密码
登录后,需要修改MySQL的root登陆密码,这时候因为MySQL具备密码复杂性策略,不能随便设置密码,又得大小写字母,又得数字,又得符号,特麻烦,但安全,如果不想设置复杂的密码需要改动这些策略:
查看MySQL密码规则:show variables like 'validate_password%'; 如下:
我的已经更改过策略了,更改策略:
1 #密码的长度是由validate_password_length决定的 2 #密码的安全性是validate_password_policy决定的 3 mysql: set global validate_password_policy=0; 4 mysql: set global validate_password_length=1;
然后,再改密码: 1 alter user 'root'@'localhost' identified by '你的新密码';
不要忘了咱们的目的,我们要搭建wordpress的,前面的内容有点繁琐了,但是有必要说一下,因为我做的时候好多不清楚就百度,问题里面套着问题,一层一层的,到最后自己本来要干什么都不知道了,完全懵逼,所以不要嫌啰嗦,一遍过去保证除去你很多疑难杂症。
All right ,让我们继续
wordpress是个博客系统,需要后台登录,然后进行操作的,所以需要给wordpress一套用户名和密码,当然,还有数据库。
登录MySQL
1 创建数据库:create database wordpress; 2 创建用户名:create user '用户名'; 3 授予 权限:grant all privileges on wordpress.* to '用户名' identified by '密码'; 4 刷新 权限:flush privileges
至此,MySQL设置完成
- 配置PHP
PHP不用怎么配置
只要弄完以上配置后确保php-fpm已经启动即可
- 配置wordpess
首先需要下载wordpress文件
1 #下载wordpress文件 2 wget http://wordpress.org/latest.zip 3 #解压lastest.zip,解压后文件夹名为wordpress 4 unzip latest.zip 5 #将解压后的wordpress文件夹放入Nginx的网站发布路径 6 mv wordpress /usr/share/nginx/html/ 7 #给予权限 8 chmod -R 755 /usr/share/nginx/html/wordpress
更改wordpress配置文件
#复制一份,当作备份cp /usr/share/nginx/html/wordpress/wp-config-sample.php /usr/share/nginx/html/wordpress/wp-config.php
#打开配置文件
vim /usr/share/nginx/html/wordpress/wp-config.php
更改以下内容:数据库名称,用户名和密码,如:
保存后,重启Nginx,mysql,php-fpm
打开浏览器,输入IP或localhost/wordpress,如:
至此,就可以自己设置了,因为时间有限,不保证所有步骤都正确,还望海涵,并多多指正,下一篇是关于Nginx修改默认网站发布路径的问题,还有wordpress汉化,欢迎浏览