准备工作
1. 云服务器
我们选用的是阿里云服务器,操作系统是Ubuntu。因此本文搭建过程中涉及到的具体操作都以Ubuntu为例,其他操作系统可类推。
2. 域名及云解析DNS
有了服务器后,第二步便是申请域名及购买云解析DNS,也是在阿里云上购买的。阿里云会根据我们申请的域名个数自动调整云解析DNS的域名个数和费用。
主要步骤
这里给出用WordPress + Nginx + MySQL + PHP搭建个人博客的主要步骤,让大家对整体流程有一个完整的概念。详细步骤及操作方法见后文。文末附有可能遇到的问题及解决方案。
- 下载WordPress
- 安装PHP
- 安装Nginx
- 安装MySQL
- 创建WordPress用户名和数据库
- 复制WordPress文件到网站根目录
- 配置Nginx使用PHP及我们申请好的域名
- 为WordPress设置
wp-config.php
文件 - 安装及配置WordPress
详细步骤
一、下载WordPress
- 在WordPress官网下载安装文件到PC。
- 下载并安装WinSCP。通过WinSCP将WordPress安装文件从PC传输到Ubuntu服务器上。
- 解压WordPress安装文件。
二、安装PHP
检查PHP的安装路径:
启动PHP:
三、安装Nginx
启动Nginx:
启动完成后,在浏览器中访问服务器公网IPhttp://xx.xx.xx.xx
,应该可以看到如下页面。实际上打开的是/var/www/html/
下的index.nginx-debian.html
页面。
四、安装MySQL
我们需要为WordPress创建一个数据库,这里选用的是MySQL数据库服务。
安装MySQL:
安装完后可以通过以下命令来检查安装结果,如果处于LISTEN状态,则安装成功。
五、创建WordPress用户名和数据库
下面是我替换关键内容后的范例:
六、复制WordPress文件到网站根目录
将解压后的WordPress目录下所有内容(无需转移目录本身)转移到网站根目录下。网站根目录默认为/var/www/html/
,为了便于管理,我建立了路径/var/www/www.wendicai.net/
作为我的网站根目录。
七、配置Nginx使用PHP及我们申请好的域名
修改Nginx的default配置文件,该文件位于/etc/nginx/sites-available/default
。需要更改的地方已在下面列出。
配置修改后需要重启Nginx服务生效:
如何配置Nginx绑定多个域名
值得一提的是,这台Ubuntu服务器是我和夏夏共用的,我们各自申请了不同的域名,因此需要让Nginx同时识别两个域名,且两个域名对应各自的页面内容。
具体的配置方法如下:
- 分别给每个域名创建一个根目录
并将原路径/var/www/html/
下的所有文件拷贝过去。
- 分别给每个域名创建一个配置文件
在/etc/nginx/vhost
路径下为每个域名创建一个配置文件,命名为vhost_<域名关键字>.conf
。
将/etc/nginx/sites-available/default
文件内容拷贝到新配置文件中,并按前文所述的配置文件修改方法,分别修改两个域名的配置信息。root网站根目录应分别为步骤1中创建的对应目录。
- 将新配置文件路径加入到
nginx.config
中
修改/etc/nginx/nginx.conf
文件,在http代码块中添加新的配置文件路径:
- 重启Nginx服务以生效
现在,分别访问两个域名www.wendicai.net
和www.xia-weiwen.com
,实际打开的页面将分别是/var/www/www.wendicai.net
和/var/www/www.xia-weiwen.com
下的文件。
八、为WordPress设置wp-config.php文件
在浏览器中访问http://<域名>/wp-admin/install.php
, 出现以下页面,要求填入数据库信息。
说明:
Database Name
是步骤六中创建的数据库名称,我的是blogdb。
User Name
和Password
分别是是步骤六中创建的数据库用户名和密码。
Database Host
与步骤六中设定的hostname
一致,通常是localhost
。
Table Prefix
可以不改,但由于我们要在同一个数据库中管理两个域名下的数据,我在默认前缀后又加上了各自的域名。
点击Submit
,可能会遇到以下两种情况:
配置文件自动修改成功。此时不要点击Run the Install
,进入步骤八继续。
如果WordPress无法查找到wp-config.php
文件,则会根据我们填入的信息自动生成配置文件内容,并建议我们手动创建并编辑wp-config.php
文件。
如果是第二种情况,我们只需要在WordPress的解压路径中找到wp-config-sample.php
文件,将其重命名为wp-config.php
,并将上面自动生成的配置文件内容拷贝到wp-config.php
中。
九、安装WordPress
- 如果配置文件自动修改成功,此时点击
Run the install
安装即可。 - 如果
wp-config.php
为手动创建,需要重新访问http://<域名>/wp-admin/install.php
,进入安装。
填入以下个人信息和偏好设置后,点击Install WordPress
进行安装。这一页填入的信息将来在WordPress后台http://<域名>/wp-admin
都是可更改的。
安装成功啦!接下来就可以登录进入后台愉快地玩耍了~
WordPress怎么玩?可以参考WordPress的官方文档。
WordPress官方中文文档:http://codex.wordpress.org.cn/%E9%A6%96%E9%A1%B5
使用WordPress:http://codex.wordpress.org.cn/%E4%BD%BF%E7%94%A8_WordPress
可能遇到的问题
我在搭建过程中遇到了不少问题,在这里将这些问题与其解决方法分享出来,希望可以帮助大家少走弯路。
- “nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)”
Nginx安装完成后,启动Nginx失败并出现以下报错
这是因为80端口被其他服务占用。可以通过以下命令来检查:
我的情况是云服务器本身预装了apache,从结果中可以看出80端口被apaceh2占用。
将apache2服务停掉后,成功启动Nginx。
- 主题、插件等“安装失败:无法创建目录”
用以下命令添加权限:
- “在裁剪您的图像时发生了错误”
在WordPress中裁剪图片时,报错“在裁剪您的图像时发生了错误”。
这是由于PHP的GD库未安装。运行以下命令安装:
- 设置中英文摘要长度
在外观->主题编辑器中找到functions.php
,在末尾加上以下代码。
中文摘要(替换“100”为你想要的长度):
英文摘要(替换“50”为你想要的长度)
- 设置文章中所有链接在新窗口中打开
在外观->主题编辑器中找到functions.php
,在末尾加上以下代码。
- 域名变更了怎么办?
有段时间工作很忙疏于维护博客,结果之前申请的域名就悄咪咪到期被收回了,而且紧接着还被人抢注了= =无奈之下只得更换域名。。
这种情况直接用新域名访问肯定是不行的,需要在Nginx和Wordpress相应的配置文件中也更改为新的域名。
需要修改的主要是以下几处:
1) Nginx的配置文件,默认路径是/etc/nginx/sites-available/default
如果你像我一样自己创建了另外的网站根目录,则需要修改对应目录下的配置文件。按照前文所述的配置,我需要修改的是/etc/nginx/vhost/vhost_wendicai.conf
。
修改后需重启Nginx服务以生效:service nginx restart
。
2) WordPress上的更改可参考这篇博客
我的情况是原域名WordPress管理区域已经无法访问,因此采取了方法2,在/wp-content/themes/your-theme-folder/functions.php
文件底部添加以下代码:
重新访问新URL,确认一切正常后就可以删除这两行代码了。
非常详细,感激不尽
Do you know the usage of the nginx.conf.default?