在centos7上部署wordpress
WordPress是全球最受欢迎的开源博客和CMS平台,为当今互联网上所有网站的四分之一提供支持。它基于PHP和MySQL,并包含大量功能,可以使用免费和高级插件和主题进行扩展。 WordPress是创建在线商店,网站或博客的最简单方法。
本教程介绍了如何在CentOS 7上安装WordPress。这是一个非常简单的过程
这里我们使用WordPress+php+Mysql+Nginx的方案,你只需要有一个公网ip的服务器,和一个具有sudo特权的账号(最好是root账号)
部署Nginx
关于Nginx的安装可以参考我的另一篇文章《编译安装GCC,Nginx,Nodejs,Python3,Proxychains,Git,Screen》 中的编译安装Nginx小结。
Nginx安装完成后,打开并修改nginx的配置文件
nvim /opt/nginx/conf/nginx.conf
把第二行的user设置为root (暂时,正式运行的时候需要设置为一个权限受限的子账号)
把第44和45行做如下修改
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html/wordpress;
index index.php index.html index.htm;
}
然后启用第65到71行的代码,并修改root和fastcgi_param参数
location ~ \.php$ {
root html/wordpress;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
下载wordPress
在wordpress官网下载最新版本,点击前往 注意,下载的是 .tar.gz的格式
或者使用wget指令下载 , 最好开代理。
[root@VM-16-12-centos wordpress-temp]# wget https://cn.wordpress.org/latest-zh_CN.tar.gz
使用 tar -zxvf latest-zh_CN.tar.gz
指令解压 ,我们可以得到这样的目录结构
[root@VM-16-12-centos wordpress-temp]# tree . -C -L 2
.
|-- latest-zh_CN.tar.gz
`-- wordpress
|-- index.php
|-- license.txt
|-- readme.html
|-- wp-activate.php
|-- wp-admin
|-- wp-blog-header.php
|-- wp-comments-post.php
|-- wp-config-sample.php
|-- wp-content
|-- wp-cron.php
|-- wp-includes
|-- wp-links-opml.php
|-- wp-load.php
|-- wp-login.php
|-- wp-mail.php
|-- wp-settings.php
|-- wp-signup.php
|-- wp-trackback.php
`-- xmlrpc.php
4 directories, 17 files
把wordpress目录移动到/opt/nginx/html
下
mv /root/wordpress-temp/wordpress /opt/nginx/html/
部署mysql(mariadb)
MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。MariaDB名称来自Michael Widenius的女儿Maria的名字。成立于2009年,MySQL之父Michael “Monty” Widenius用他的新项目MariaDB完成了对MySQL的“反戈一击”。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。 过去一年中,大型互联网用户以及Linux发行商纷纷抛弃MySQL,转投MariaDB阵营。MariaDB是目前最受关注的MySQL数据库衍生版,也被视为开源数据库MySQL的替代品。
——引用自百度百科
安装并启动
# 安装
[root@VM-16-12-centos ~]# yum install -y mariadb-server mariadb
# 启动
[root@VM-16-12-centos ~]# systemctl start mariadb
# 验证是否启动
[root@VM-16-12-centos ~]# netstat -tunlp | grep mysql
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 8306/mysqld
登录并修改密码
使用指令,登录到mysql,默认没有密码,直接按回车跳过
[root@VM-16-12-centos ~]# mysql -uroot -p
使用指令set password for root@localhost = password('密码');
来修改密码
MariaDB [(none)]> set password for root@localhost = password('root');
Query OK, 0 rows affected (0.00 sec)
创建wordpress数据库
数据库名可以任意取,只需要在后续配置中指定这个库名即可,这里使用wordpress这个库名,创建时注意指定字符集为utf8,否则无法正常保存中文。
使用指令create database wordpress DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
创建数据库,关于mysql的使用可以参考我的另一篇文章《mysql基本操作》
MariaDB [(none)]> create database wordpress DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
Query OK, 1 row affected (0.00 sec)
创建一个mysql子账户
创建子账户并限制子账户的权限,可以减小博客被入侵造成的损失。
先登录mysql,在交互模式下执行下面创建语句
CREATE USER '用户名'@'localhost' IDENTIFIED BY '密码'; #这种创建方式只能本地登录
CREATE USER '用户名'@'%' IDENTIFIED BY '密码'; #这种创建方式可以远程登录,即别的地方可以登录
授予用户对wordpress数据库的权限
grant all privileges on `wordpress`.* to 'wp-admin'@'localhost';
刷新权限
flush privileges;
可以使用新建的用户登录mysql然后操作wordpress库来检验是否成功。
安装php7.2
wordpress推荐的php版本为7.2,执行下面语句即可安装
sudo yum install epel-release yum-utils
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum-config-manager --enable remi-php72
sudo yum install php-cli php-fpm php-mysql php-json php-opcache php-mbstring php-xml php-gd php-curl
现在我们安装了PHP FPM。
配置wordpress
以上操作都完成后,运行wordpress进入前端页面来完成本地化配置
运行nginx
nginx
【Tips】: 可以使用指令
nginx -t
来测试配置文件nginx.conf
是否正确[root@VM-16-12-centos ~]# nginx -t nginx: the configuration file /opt/nginx/conf/nginx.conf syntax is ok nginx: configuration file /opt/nginx/conf/nginx.conf test is successful
会占用80端口
运行php-fastcgi
systemctl enable php-fpm
systemctl start php-fpm
会占用9000端口
运行mysql
systemctl start mariadb
会占用3306端口
使用指令netstat -tunlp
,查看端口的占用情况
如图所示,则为运行成功。
用浏览器访问这台服务器的80端口,得到下面的界面
完成填写并提交后/opt/nginx/html/wordpress/
目录下会生成一个wp-config.php
文件,如果没有,可以按照前端的提示,手动创建文件并把内容复制进去。
有了wp-config.php
文件后再次访问该服务器的80端口,就会出现下面的界面。
填写完成就能登录到站点了,又多了一位php个人站长 Σ(゚д゚;)
Comments | NOTHING