🦄 2024 独立开发者训练营,一起创业!查看介绍 / 立即报名 →

路径(二十二):在 nginx 上运行 WordPress

先修改一下本地电脑的 hosts 文件,添加一条新的记录:192.168.33.10 wp.ninghao.dev。完成以后用 ping wp.ninghao.dev 测试一下,你会看到现在这个主机名指向的就是我们的虚拟机的 IP 地址,这样在配置 nginx 的时候,可以添加一个新的 server ,服务器名就可以使用 wp.ninghao.dev ,打开这个主机名就是我们即将要安装的 WordPress 。

登录到虚拟机,在 nginx 的配置文件目录的 conf.d 里面,再新建一个 .conf 文件,命名为 wp.ninghao.dev.conf ,文件里的内容像下面这样:

server {
  listen        80;
  server_name   wp.ninghao.dev;
  root          /vagrant/wordpress/public;
  index         index.php index.html index.htm;

  location / {
     try_files $uri $uri/ /index.php?$query_string;
  }

  location ~ \.php$ {
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    include fastcgi_params;  
  }
}

参考:https://lemp.ninghao.net/config--nginx.html

/vagrant/wordpress/public 是网站的根目录,去创建这个目录:mkdir -p /vagrant/wordpress/public 。然后重新加载 nginx:service nginx reload 。

下载

/vagrant/wordpress/public 是 WordPress 网站的根目录,进入到这个目录的下面,然后用 wp-cli 工具去下载最新的简体中文版的 WordPress 。

wp core download --locale=zh_CN

返回:

Downloading WordPress 4.1 (zh_CN)...
Success: WordPress downloaded.

在上面这条命令的最后用了一个 --locale 选项,指定了要下载的 WordPress 的语言,zh_CN 表示体中文,繁体中文可以使用 zh_TW。完成以后用 ls 命令查看一下当前目录下的东西,你会看到 WordPress 的文件。

数据库

再去给即将安装的 WordPress 网站创建一个数据库,并且为这个数据库指定一个专门的管理员。先登录到 MySQL / MariaDB :

mysql -u root -p

成功以后,使用 create database 去创建一个叫 wordpress 的数据库:

create database wordpress;

去给 wordpress 这个数据库指定一个管理员,用户名是 ninghao,密码是 GcPpQJe0LE9h2Dlhtu69KoOP54RAVz1pN9H5a21fpKU=

grant all privileges on wordpress.* to 'ninghao'@'localhost' identified by 'GcPpQJe0LE9h2Dlhtu69KoOP54RAVz1pN9H5a21fpKU=';

成功以后就可以退出 MySQL / MariaDB 的控制台了。用 exit 命令。

配置文件

安装 WordPress 之前要给它创建一个配置文件(wp-config.php),在这个文件里会包含 WordPress 使用的数据库,数据表的前缀,可以操纵这个数据库的用户名还有密码,还有网站的语言等等,可以使用 wp core config 去创建这个配置文件:

wp core config --dbname=wordpress --dbuser=ninghao --dbpass=GcPpQJe0LE9h2Dlhtu69KoOP54RAVz1pN9H5a21fpKU= --dbhost=localhost --dbprefix=wp_ --locale=zh_CN

返回:

Success: Generated wp-config.php file.

安装

下面,我们用 wp-cli 在命令行下载去安装 WordPress,用的是 wp core install ,需要设置一些选项,比如网站的地址,名称,管理员,管理员登录的密码,还有他的邮箱的地址等等 ...

wp core install --url=http://wp.ninghao.dev --title='WordPress' --admin_user=wanghao --admin_password=123456 --admin_email=wanghao@ninghao.net

返回:

Success: WordPress installed successfully.

现在,在浏览器里打开 http://wp.ninghao.dev/wp-login.php ,使用在安装 WordPress 的时候设置的管理员的用户名还有密码登录到 WordPress 的后台。

解决速度慢的问题

WordPress 的主题还有它的后台都会用到 Google 字体,在国内访问 Google 会遇到问题,这就是打开 WordPress 网站慢的主要原因。解决的办法是去安装一个叫 useso-take-over-google 的插件,它会用国内的 useso 替换 google。

wp plugin install useso-take-over-google --activate

返回:

Installing Useso take over Google (1.5)
正在从https://downloads.wordpress.org/plugin/useso-take-over-google.zip下载安装包...
Using cached file '/home/vagrant/.wp-cli/cache/plugin/useso-take-over-google-1.5.zip'...
正在解压缩安装包...
正在安装插件...
插件安装成功。
Success: Plugin 'useso-take-over-google' activated.

另外 WordPress 默认为用户使用的是 Gravatar 头像,我们访问这个网站也会遇到问题。我们可以先禁用掉用户的头像功能,打开 设置 - 讨论 - 头像显示,去掉勾选显示头像,保存更改。

现在我们就已经安装好了 WordPress !

我遇到的问题

如果你通过上面的步骤可以有一个正常运行的 WordPress,就不用继续往下看了。

在测试的时候,我遇到个小问题。安装好 WordPress 以后解决了 Google 字体与 Gravatar 的问题以后,WordPress 的后台仍然打开奇慢,是那种不能忍受的地步。开启 WordPress 的 debug  ,发现是不能与 wordpress.org 建立安全连接。下面就开始了一整天的痛苦过程,绕了个大圈圈。简单说,解决这个问题是安装了一个叫 Query Monitor 的插件,发现了问题,在服务器的 hosts 文件里添加了一条记录。

Query Monitor 提示,向 api.wordpress.org 发送 POST 请求,响应的结果都是超时,这就是慢的问题,因为每次发送这个请求,都会等很长时间,而且会试好几次。

QQ20150201-1

安装 Query Monitor 插件

wp plugin install query-monitor --activate

https://wordpress.org/plugins/query-monitor/

添加 Host 记录

在虚拟机上用 ping api.wordpress.org ,可以得到 api.wordpress.org 的 IP 地址,复制这个地址,然后编辑虚拟机上的 hosts 文件,添加:

66.155.40.202 api.wordpress.org

问题解决了,不过到现在,我没找到具体的原因,我猜可能是虚拟机的事,因为之前配置的一台虚拟机,是可以成功发出请求并得到响应的。

路径 WordPress nginx

评论

grant all privileges on wordpress.* to 'ninghao'@'localhost' identified by ... 里的“localhost" 在阿里云生产环境也是用 localhost 吗

是的,可以。意思就是这个用户只能在本地主机上使用,不能通过运程使用。

按插件就会在出现success前,出现4行错误提示 PHP Warning: 发生意外错误,可能WordPress.org或服务器配置文件存在问题。如果该问题持续发生,请考虑去<a href="http://zh-cn.forums.wordpress.org/">支持论坛</a>寻求帮助。 (WordPress无法建立到WordPress.org的安全连接,请联系您的服务器管理员。) in /vagrant/private/izhiren.dev/www.izhiren.dev/wp-includes/update.php on line 119

怎么编辑虚拟机上的 hosts 文件啊? 是 vim /etc/hosts 吗? 我这ping出的是 66.155.40.203 。 最后还是非常慢。。。 跟着折腾了好几天啊,真不甘心要用回MAMP O(∩_∩)O~

是的,在 CentOS 系统上,你 hosts 文件的位置就是 /etc/hosts ,用 vim 去编辑一下这个文件就行。

不要再回到 MAMP :)

請問數據庫的密碼那些亂碼是自動產生的嗎?

還是要手動鍵入的?

如果是手動鍵入的那可以用短一點的嗎?

是用 openssl 生成了,像这样:openssl rand -base64 32 ,这样会生成一个 32 位的随机码。你想短一点,可以把 32 换成你想要的数字。

剛試了wp core config,應該是不用在此設定--locale選項的。

无法加载 http://wp.ninghao.dev/wp-admin.php 会显示此页面包含重定向循环

我也遇到这个问题了,你解决了吗?

有一个问题: nignx上边运行wordpress,但是要是修改wordpress的固定链接后,一直显示一个404 not found, 这个如何在nignx中 的配置文件中进行修改? 请皓哥指教?

你参考:http://ninghao.net/guide/web-stack,搜索: dp8.ninghao.dev.conf ,按照这个配置文件里的内容去修改您的 nginx 配置文件。

这个 wordpress 重定向好像设置的有点问题,/wp-admin 不能自动跳转的控制面板, 需要在后面加 /index.php 才能到控制面板。

好来,我又重新修改了 NGINX 的配置内容。具体可以参考:https://lemp.ninghao.net/config--nginx.html

谢谢!试了一下,OK~

使用wp core下在中文版提示not found的,但是现在英文版(en_US)的却没问题。应该是中文版改名字。但是我从官网上也找到中文版的名字。

**我是想问一下,如果遇到这样情况,改如何查找正确的参数值呢,光查找就耗时良久,但最后还是没找到。。。。。!!!**

$ wp core download --locale=zh_CN
Error: The requested locale (zh_CN) was not found.

有可能是最新版本的 WordPress 还没有中文版,你可以下载前一个小版本试试。

微信好友

用微信扫描二维码,
加我好友。

微信公众号

用微信扫描二维码,
订阅宁皓网公众号。

240746680

用 QQ 扫描二维码,
加入宁皓网 QQ 群。

统计

14696
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点