先修改一下本地电脑的 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 请求,响应的结果都是超时,这就是慢的问题,因为每次发送这个请求,都会等很长时间,而且会试好几次。
安装 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 吗
9 年 9 个月 以前
是的,可以。意思就是这个用户只能在本地主机上使用,不能通过运程使用。
9 年 9 个月 以前
按插件就会在出现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
9 年 9 个月 以前
怎么编辑虚拟机上的 hosts 文件啊? 是 vim /etc/hosts 吗? 我这ping出的是 66.155.40.203 。 最后还是非常慢。。。 跟着折腾了好几天啊,真不甘心要用回MAMP O(∩_∩)O~
9 年 9 个月 以前
是的,在 CentOS 系统上,你 hosts 文件的位置就是 /etc/hosts ,用 vim 去编辑一下这个文件就行。
9 年 9 个月 以前
不要再回到 MAMP :)
9 年 9 个月 以前
請問數據庫的密碼那些亂碼是自動產生的嗎?
還是要手動鍵入的?
如果是手動鍵入的那可以用短一點的嗎?
9 年 9 个月 以前
是用 openssl 生成了,像这样:openssl rand -base64 32 ,这样会生成一个 32 位的随机码。你想短一点,可以把 32 换成你想要的数字。
9 年 9 个月 以前
剛試了wp core config,應該是不用在此設定--locale選項的。
9 年 9 个月 以前
无法加载 http://wp.ninghao.dev/wp-admin.php 会显示此页面包含重定向循环
9 年 9 个月 以前
我也遇到这个问题了,你解决了吗?
9 年 4 个月 以前
有一个问题: nignx上边运行wordpress,但是要是修改wordpress的固定链接后,一直显示一个404 not found, 这个如何在nignx中 的配置文件中进行修改? 请皓哥指教?
9 年 9 个月 以前
你参考:http://ninghao.net/guide/web-stack,搜索: dp8.ninghao.dev.conf ,按照这个配置文件里的内容去修改您的 nginx 配置文件。
9 年 9 个月 以前
这个 wordpress 重定向好像设置的有点问题,/wp-admin 不能自动跳转的控制面板, 需要在后面加 /index.php 才能到控制面板。
7 年 4 个月 以前
好来,我又重新修改了 NGINX 的配置内容。具体可以参考:https://lemp.ninghao.net/config--nginx.html
7 年 4 个月 以前
谢谢!试了一下,OK~
7 年 4 个月 以前
使用wp core下在中文版提示not found的,但是现在英文版(en_US)的却没问题。应该是中文版改名字。但是我从官网上也找到中文版的名字。
**我是想问一下,如果遇到这样情况,改如何查找正确的参数值呢,光查找就耗时良久,但最后还是没找到。。。。。!!!**
$ wp core download --locale=zh_CN
Error: The requested locale (zh_CN) was not found.
6 年 7 个月 以前
有可能是最新版本的 WordPress 还没有中文版,你可以下载前一个小版本试试。
6 年 7 个月 以前