Wordpress部署 —— 基于Ubuntu、Mysql和Nginx
Wordpress部署 —— 基于Ubuntu、Mysql和Nginx
简介
WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。也可以把 WordPress当作一个内容管理系统(CMS)来使用。
WordPress是一款个人博客系统,并逐步演化成一款内容管理系统软件,它是使用PHP语言和MySQL数据库开发的,用户可以在支持 PHP 和 MySQL数据库的服务器上使用自己的博客。
WordPress有许多第三方开发的免费模板,安装方式简单易用。不过要做一个自己的模板,则需要你有一定的专业知识。比如你至少要懂的标准通用标记语言下的一个应用HTML代码、CSS、PHP等相关知识。
WordPress官方支持中文版,同时有爱好者开发的第三方中文语言包,如wopus中文语言包。
WordPress拥有成千上万个各式插件和不计其数的主题模板样式。
成果展示
照例先做成果展示。
示例网站地址:http://luckyee.cn
首页
后台
安装部署
Wordpress的官网:https://cn.wordpress.org
几乎所有资料都能够在官网上找到。
官网的部署教程参考这个链接:https://wordpress.org/support/article/how-to-install-wordpress/
以下是我使用ubuntu + nginx + php + wordpress的安装步骤,大家也可以权当参考。
Ubuntu上安装mysql并配置用户
只需要一条简单命令即可:
sudo apt-get install mysql-server
然后查看默认的用户名和密码:
sudo vim /etc/mysql/debian.cnf
# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host = localhost
user = debian-sys-maint
password = XXXXXXXXXXXXXXXX
socket = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host = localhost
user = debian-sys-maint
password = XXXXXXXXXXXXXXXX
socket = /var/run/mysqld/mysqld.sock
其中的user和password就是mysql的初始用户密码,该用户具有root权限。
如果对安全性有要求,则建议新建其他用户。
注意: 该用户必须拥有对应Schema的建表权限,建议赋权all。
如果Wordpress服务器与Mysql服务器不在同一台机器上,则还需要修改mysql配置文件,允许root用户远程登陆。
# 修改Mysql配置
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
# 将bind-address从127.0.0.1改为0.0.0.0并保存
# bind-address = 0.0.0.0
# 登陆mysql,密码使用上面的XXXXXXXXXXXXXXXX
mysql -u debian-sys-maint -p
# 给debian-sys-maint赋权
grant all on *.* to debian-sys-maint@'%' identified by 'XXXXXXXXXXXXXXXX' with grant option;
flush privileges;
# 记得创建一个新的数据库Schema
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
安装nginx
也只需要一条简单命令即可:
sudo apt-get install nginx
但是需要配置允许解析php文件
sudo vi /etc/nginx/sites-available/default
可以参考如下配置
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
# 这里添加了index.php的默认解析
index index.php index.html index.htm index.nginx-debian.html;
# 注意,这里可以填写域名或者服务器IP地址,可以根据具体情况修改
server_name _;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
# 这里是7.2版本的php7.2-fpm,其他版本需要根据具体情况修改
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
}
location ~ /\.ht {
deny all;
}
location = /favicon.ico { log_not_found off; access_log off; }
location = /robots.txt { log_not_found off; access_log off; allow all; }
location ~* \.(css|gif|ico|jpeg|jpg|js|png)$ {
expires max;
log_not_found off;
}
}
重新加载或重启nginx配置:
# 检查配置的正确性
sudo nginx -t
# 重新加载nginx配置
sudo nginx -s reload
# 或者重启nginx
sudo service nginx restart
配置完成后,可以访问http://localhost验证配置是否成功。
安装php及其相关插件
# 安装php及相关常用插件
sudo apt-get install php-fpm php-mysql
sudo apt-get install php-curl php-gd php-mbstring php-mcrypt php-xml php-xmlrpc
# 安装pecl以及php-mcrypt
sudo apt-get install php-pecl libmcrypt-dev libreadline-dev
sudo pecl install mcrypt
# 先关闭cgi.fix_pathinfo配置,防止PHP找不到所请求的PHP文件时去查找最接近的可执行文件。
sudo vim /etc/php/7.2/fpm/php.ini
# 将cgi.fix_pathinfo的注释放开并设置为0。
# 重启php-fpm,我这里的版本是7.2,可以根据具体情况修改
sudo service php7.2-fpm restart
编写一个测试文件:
sudo vim /var/www/html/info.php
在info.php中填入以下内容并保存:
<?php
phpinfo();
?>
然后访问 http://localhost/info.php
查看是否正确解析。
安装wordpress
下载wordpress最新版并解压
cd /tmp/
wget https://cn.wordpress.org/latest-zh_CN.zip
# 如果没有unzip记得安装一下
sudo apt-get install unzip
unzip latest-zh_CN.zip
修改数据库连接配置
cp /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php
vim /tmp/wordpress/wp-config.php
将数据库配置成之前搞定的那些:
/** WordPress数据库的名称 */
define( 'DB_NAME', 'wordpress' );
/** MySQL数据库用户名 */
define( 'DB_USER', 'debian-sys-maint' );
/** MySQL数据库密码 */
define( 'DB_PASSWORD', 'XXXXXXXXXXXXXXXX' );
/** MySQL主机 */
define( 'DB_HOST', 'localhost:3306' );
/** 创建数据表时默认的文字编码 */
define( 'DB_CHARSET', 'utf8' );
/** 数据库整理类型。如不确定请勿更改 */
define( 'DB_COLLATE', '' );
把wordpress拷贝到nginx解析的根目录,同时给wp-content赋权,确保nginx能够写入该目录:
sudo cp /tmp/wordpress/. /var/www/html
# 如果不需要更新版本或更新主题,那么记得将该目录的权限回收。
sudo chmod -R o+w /var/www/html/wp-content
之后访问http://localhost/,根据页面向导即可安装完成。
于是就有了你们看到的我的首页:
最后
WordPress是一个免费的开源项目,在GNU通用公共许可证下授权发布。
作为一个开源项目,其完整性、扩展性以及可维护性堪称精美,这份工匠精神非常值得我们每个人去学习。
再次推荐wordpress的官网:https://cn.wordpress.org
上述内容如果有任何问题,欢迎指教。