zoukankan      html  css  js  c++  java
  • 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

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

  • 相关阅读:
    VisionPro 极坐标圆形物体缺陷检测
    VisionPro CogSobeEdgeTool工具
    VisionPro CogLinescanDistortionCorrectionTool工具 图像处理工具
    VisionPro CogIPTwoImageSubtractTool工具 图像处理工具
    云原生技术实践-关键要素和原则
    深度解析项目管理
    商业进化图谱
    一张图理解网络的几个专有名词:数据、段、包、帧、比特
    泛在感知中台建设方案
    区块链生态架构图
  • 原文地址:https://www.cnblogs.com/prpl/p/12906875.html
Copyright © 2011-2022 走看看