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

首页

http://luckyee.cn

后台

http://luckyee.cn/admin

安装部署

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/,根据页面向导即可安装完成。

于是就有了你们看到的我的首页:

http://luckyee.cn

http://luckyee.cn

最后

WordPress是一个免费的开源项目,在GNU通用公共许可证下授权发布。

作为一个开源项目,其完整性、扩展性以及可维护性堪称精美,这份工匠精神非常值得我们每个人去学习。

再次推荐wordpress的官网:https://cn.wordpress.org

上述内容如果有任何问题,欢迎指教。

猜你喜欢

转载自www.cnblogs.com/prpl/p/12906875.html