• 推荐!搬瓦工官方代理,自动更换被封IPJust My Socks

ad

建站教程(3):基于Nginx部署WordPress

本教程介绍如何在Ubuntu系统下基于Nginx部署搭建WordPress。包括下载WordPress,创建WordPress操作的MySQL数据库和用户,配置WordPress,在Nginx中配置WordPress以及安装WordPress。

 

下载WordPress

直接通过wget命令去它官网下载最新的版本:

wget http://wordpress.org/latest.tar.gz

解压:

tar -xzvf latest.tar.gz

 

创建WordPress操作的数据库和用户

用在建站教程(2):在Ubuntu上配置Nginx+MySQL+PHP7中创建MySQL时设置的root密码登录MySQL:

mysql -u root -p

创建数据库:

CREATE DATABASE wordpress;

创建用户:

CREATE USER wordpress@localhost;

设置密码:

SET PASSWORD FOR wordpress@localhost=PASSWORD("your password");

配置权限:

GRANT ALL PRIVILEGES ON wordpress.* TO wordpress@localhost IDENTIFIED BY 'your password';

刷新权限配置:

FLUSH PRIVILEGES;

退出MySQL:

QUIT;

 

配置WordPress

重命名示例文件wp-config(此处的路径/root/wordpress对应你自己的存放路径):

mv /root/wordpress/wp-config-sample.php /root/wordpress/wp-config.php

修改配置文件内容:

vi /root/wordpress/wp-config.php

修改的内容包括DB_NAME,DB_USER,DB_PASSWORD以及下面的唯一key,其中前三个是在第二步自己设置的内容,唯一key可以直接去它提供的网站上拷贝,修改后的文件如下所示:

wp-config-modified

 

配置Nginx

根据建站教程(2):在Ubuntu上配置Nginx+MySQL+PHP7,Nginx的root路径是/var/www/html,所以讲wordpress里面的内容拷贝到此路径下:

cp -r /root/wordpress/* /var/www/html

修改权限(这些文件都是root的,而Nginx默认是www-data用户来运行,所以没有权限写入root的文件):

chown -R www-data:www-data /var/www/html

如果按照第二步配置了,那么default的配置文件内容不需要修改了,如果没有修改,请戳->建站教程(2):在Ubuntu上配置Nginx+MySQL+PHP7

重启Nginx:

/etc/init.d/nginx restart

 

安装WordPress

全部搞定后,访问你的ip或者是域名应该就是这样子的了:

wordpress-install

选择语言->设置标题与管理员用户名与密码以及电子邮件->安装WordPress

安装完后,访问你的IP或者域名,一个初始的博客就搭建好了~

wordpress-welcome

访问http://your_ip/wp-login.php,输入刚才设置的账户和密码,进入博客管理界面,在这里可以写文章,改主题,应用插件等等,改完再访问你的博客主页就会看到更新~: :wink:

wordpress-manage

 

更多图解适合新手教程请戳:手把手教你搭建自己的个人网站~ :cowboy:

点赞
  1. shazam说道:

    博主,按照你的方法建站,在网址里输入公网IP一直下载一个文件文件内容:<?php
    /**
    * Front to the WordPress application. This file doesn't do anything, but loads
    * wp-blog-header.php which does and tells WordPress to load the theme.
    *
    * @package WordPress
    */

    /**
    * Tells WordPress to load the WordPress theme and output it.
    *
    * @var bool
    */
    define( 'WP_USE_THEMES', true );

    /** Loads the WordPress Environment and Template */
    require( dirname( __FILE__ ) . '/wp-blog-header.php' );

    1. flyzy小站说道:

      如果下载这个的话就说明是你的PHP环境没有配置好

  2. shamrockwu说道:

    请教一下,按照博主的教程博客已经搭建好了。今天手贱不小心把服务器端的wordpress整个文件夹都删掉了,但网站还可以打开,该怎么补救。服务器端重新安装wordpress会不会把现有网站数据清空啊 :exclaim:

    1. flyzy小站说道:

      wordpress删除了没关系的,你的网站数据在nginx的root下,我的例子就是/var/www/html。
      数据不会清空,数据是在数据库里的(文章内容,用户信息,评论等等),但是照片数据是在root路径下。

      1. shamrockwu说道:

        多谢博主,已经在按照你的教程备份网站了,点赞!

      2. shamrockwu说道:

        请问照片是在root路径下的哪里呢?

        1. flyzy小站说道:

          wordpress里的wp-content里

  3. top7说道:

    全部弄完之后访问域名是Welcome to nginx 访问ip/wp-admin/ 页面是403 唯一有问题的是SET PASSWORD FOR wordpress@localhost=PASSWORD("your password");和之后的那一步报了warning

    1. top7说道:

      your password里的密码是自己随便填的吧 但是现在填your password以外的东西mysql就会自己卡住 输什么都没反应了 DB_PASSWORD也是改成了your password 但还是没有用访问与域名还是Welcome to nginx 后面的安装wordpress那一步是直接ip/wp-admain/install.php 装的也没出什么问题 但是后来访问http://your_ip/wp-login.php登陆之后就变成了403 检查了好几次前面几步应该没有问题 现在是不是只能stop vps重新装过系统从头来一遍了

      1. flyzy小站说道:

        403的话检查看有没有改权限

        1. top7说道:

          403是http://your_ip/wp-login.php登陆之后的 直接访问域名是Welcome to nginx
          权限是指mysql的用户权限吗我给他配置权限了但是报了一个warning 现在我应该怎么做

  4. qweadmin说道:

    ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111)
    怎么解决?

    1. flyzy小站说道:

      不清楚哎 搜搜吧。也许重启下mysql或者vps就好了

  5. bargler说道:

    “唯一key可以直接去它提供的网站上拷贝”,这个是去哪个网站拷贝啊?没看懂啊,麻烦指点下。

    1. flyzy小站说道:

      看上面的注释,不是有一个网址吗?https://api.wordpress.org那个

      1. bargler说道:

        这个网站https://api.wordpress.org/secret-key/1.1/salt/下面?

        define('AUTH_KEY', 'fua_=g0_-6c-3@~pQ:D+m+|}q{]!l2h.Md.vDmF-2,k};2Oe${$7MO');
        define('SECURE_AUTH_KEY', 'M c+VMS_-!CHrY4w+Qy1}^,[|LmiowV@r8]gWb${d$MN=MfC-iim/zh+jY ?!^T0W$-4uoGPA@');
        define('NONCE_KEY', '3`}FRg:C?5_b-Pb{t~X5{6Aj:lTm5GnY2U6m;s%y*#i2|,asF}65jj^3R43aM/*4<43%JM');
        define('SECURE_AUTH_SALT', 'q-gz.s)4Q{K:vg&G63HaW2K86OoUg+*');
        define('LOGGED_IN_SALT', 'lfKa}9Z5:~-22346MeD');
        define('NONCE_SALT', 'hx^OOr8#*->_a=h{a?g~n_=-JFR_{F./W/x-+WJ$JA_I7zl@!zLQ0f??QE#{a.h_');

  6. 王八拳说道:

    mysql> CREATE DATABASE wordpress;
    Query OK, 1 row affected (0.01 sec)

    mysql> CREATE USER wordpress@localhost;
    ERROR 1396 (HY000): Operation CREATE USER failed for 'wordpress'@'localhost'
    :cry: 就很难受,DROP掉重新创建也是这样

    1. flyzy小站说道:

      谷歌一下,你就知道

  7. East说道:

    大哥大哥 mysql -u root -p
    之后“enter password:”我输入不了密码 按下回车后就 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) :persevering:

    1. East说道:

      啊。好像又阔以了。 :idea: :idea:

  8. 啊啊啊说道:

    他提供的网址进不去啊
    https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service

    1. 啊啊啊说道:

      :mrgreen: 没什么,是我傻了

  9. musu说道:

    :exclaim: 大佬.不知为何我没有第五步的语言选择项且直接安装完成了=A= 进入之后是英文WordPress,百度之后改了配置文件出现了更新中文的更新包.但是.....WordPress的update界面服务器不知道怎么填写

    1. flyzy小站说道:

      啥WordPress的update界面?能在公众号或者Telegram群组里截个图给我看下吗

  10. 某人说道:

    为什么按照这个配置之后,一打开网页就下载一个文件???

    1. flyzy小站说道:

      没有添加php解析

      1. 某人说道:

        我加TG群了,发了几张图片,不知道是怎么回事不行

  11. 尘起缘落说道:

    安装完后进入ip网页显示:Error establishing a database connection,怎么回事

    1. flyzy小站说道:

      数据库连接错误。在wp-config.php中配置的数据库用户不存在或者密码不正确

      1. 尘起缘落说道:

        真不知道该怎么设置了,都是按照你的步骤来的,有点看不懂了

        1. flyzy小站说道:

          数据库配置有问题啊..可能是你的数据库里用户没有添加成功

          1. cyeeoo说道:

            博主 我数据库和用户都添加成功了 也是这个问题该怎么办?

          2. flyzy小站说道:

            1.数据库用户没有新建成功;2.配置文件中数据库用户密码错误

          3. cyeeoo说道:

            前面都没有出现1 warning
            创建WordPress操作的数据库和用户-设置密码 这一步的时候显示Query OK, 0 rows affected, 1 warning (0.00 sec) 是怎么回事 :cry:

          4. flyzy小站说道:

            你先看看mysql里有没有你这个用户,如果有,那就应该是你在配置文件里输错了

          5. cyeeoo说道:

            谢谢 :cowboy:

      2. 尘起缘落说道:

        已经弄好了,谢谢博主

        1. cyeeoo说道:

          你好 我跟你同样的问题 请问是怎么解决的?

  12. srunkyo说道:

    出现在wordpress设置好账户密码,login之后,查了一下第四步配置路径配置好了,wordpress也复制到了/var/www/html下面…… 但是直接访问我的ip的时候显示的不是word press而是nginx 欢迎页…… 网上查了一下说要修改权限为某个数值?

    1. srunkyo说道:

      会不会是因为创建数据库时的用户密码和管理员用户密码不一致产生的??

      1. srunkyo说道:

        谢谢楼主!已经解决了,是”请戳->建站教程(2):在Ubuntu上配置Nginx+MySQL+PHP7“这一步中配置有错,忘了把index.php加进来

        1. srunkyo说道:

          写错了,是博主 :biggrin:
          参考 http://blog.csdn.net/weiliu0626/article/details/50380776
          ”如果在/ var/www下面没有index.php,index.html的时候,直接访问域名,找不到文件,会报403 forbidden。“
          大家一定要认真按照博主写的配 :mrgreen:

  13. srunkyo说道:

    按照顺序安装之后显示403是什么原因呢》

    1. flyzy2005说道:

      哪一步是403?403是没有权限获取文件,是不是nginx root或者index的配置有误?