本文转载自1mthx 的博客(域名已失效,来自谷歌快照)
部署Wordpress
WordPress是基于PHP和MySQL进行开发的,所以,部署Wordpress有两个重要步骤:安装LNMP和安装Wordpress。
安装LNMP
LNMP的全称是Linux、Nginx、MySQL和PHP。为了简单省事,我在lnmp.org下载一键安装包。
首先,使用Putty或者XSHELL等ssh客户端登录上VPS,使用wget下载安装包。
1 |
wget http://soft.vpser.net/lnmp/lnmp1.2.tar.gz |
解压缩以及进入目录
1 |
tar -zxvf lnmp1.2.tar.gz && cd lnmp1.2.tar.gz |
安装
1 |
./install.sh |
安装过程中会要求输入MySQL密码以及选择安装选项,输入密码后,一直按回车即可。安装时间有点长,可以先冲杯咖啡。
lnmp一键安装包默认把php、mysql、nginx安装在/usr/local
目录下。nginx默认设置web服务器的根目录是/home/wwwroot/default
,可以通过修改/usr/local/nginx/conf/nginx.conf
更改根目录。
安装Wordpress
WordPress安装非常简单,可以参照:安装Wordpress
或者How To Install WordPress on Ubuntu 14.04
第一步:下载WordPress安装包并解压
- 访问wordpress中文网:https://cn.wordpress.org/
- 通过ssh客户端工具,运行以下命令:
1 2 |
wget https://cn.wordpress.org/wordpress-4.2.2-zh_CN.tar.gz tar -zxvf wordpress-4.2.2-zh_CN.tar.gz |
第二步:创建WordPress数据库和一个用户
首先使用root用户登录MySQL
1 |
mysql -u root -p |
在终端输入root用户的密码后,成功登入MySQL。
然后创建WordPress数据库,在MySQL命令行输入
1 |
CREATE DATABASE wordpress; |
下一步是创建wordpress用户
1 |
CREATE USER wordpressuser@localhost IDENTIFIED BY ‘password‘; |
由于MySQL默认提供访问控制的机制,刚创建wordpressuser没有wordpress数据库的操作权限,因此需要进行授权。
1 |
GRANT ALL PRIVILEGES ON wordpress.* TO wordpressuser@localhost; |
刷新权限
1 |
FLUSH PRIVILEGES; |
最后,退出MySQL命令行
1 |
exit |
第三步:更改配置
首先进入到WordPress文件夹
1 |
cd ~/wordpress |
然后,复制配置模板
1 |
cp wp-config-sample.php wp-config.php |
使用编辑器将数据库信息填上去即可。
第四步:上传到web服务器
我是把WordPress设置为网站服务的根目录,所以需要更改nginx的配置。
lnmp安装包默认的nginx配置位于/usr/local/nginx/conf
目录。修改给目录下的nginx.conf
。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
server { listen 80 default_server; #listen [::]:80 default_server ipv6only=on; server_name www.lnmp.org; index index.html index.htm index.php; root /home/wwwroot/default/wordpress; #error_page 404 /404.html; include enable-php.conf; location /nginx_status { stub_status on; access_log off; } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } location ~ .*\.(js|css)?$ { expires 12h; } location ~ /\. { deny all; } access_log /home/wwwlogs/access.log access; } |
将wordpress复制到指定路径
1 |
cp ~/wordpress /home/wwwroot/default/ |
第五步:更改目录权限
由于操作用户是root,wordpress文件夹的所有者为root用户,这可能会引起下载插件时出现提供ftp账号的问题。为了避免该问题,可以将web目录的所有者设置为www。
1 |
chown -R www:www /home/wwwroot/default |
第六步:更改php设置
由于采用lnmp安装包,php的默认配置禁止scandir函数,导致wordpress无法扫描主题目录,因此需要开启scandir函数。
输入以下命令获取php.ini位置
1 |
php -ini | grep ‘php.ini‘ |
获得如下结果:
1 2 |
Configuration File (php.ini) Path => /usr/local/php/etc Loaded Configuration File => /usr/local/php/etc/php.ini |
使用编辑器编辑/usr/local/php/etc/php.ini
,修改以下代码行,将scandir
删除即可。
1 |
disable_functions = passthru,exec,system,chroot,chgrp,chown,scandir,shell_exec,proc_open,proc_get_status,popen,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server |
重启php服务
1 |
service php-fpm restart |
第五步:运行安装脚本
- 将WordPress文件放在根目录下的用户请访问:http://example.com/wp-admin/install.php
- 将WordPress文件放在子目录(假设子目录名为blog)下的用户请访问:http://example.com/blog/wp-admin/install.php
绑定域名
绑定域名无非两件事,买域名和设置DNS
买域名
域名是要钱的,这次下血本花了60大洋在godaddy买了imthx.com,支付宝支付。为什么选择godaddy?权威、放心、不怕被莫名其妙注销。
设置域名解析
在GoDaddy的域名管理中找到Nameservers选项卡,填上digitalocean的dns服务器
1 2 3 |
ns1.digitalocean.com ns2.digitalocean.com ns3.digitalocean.com |
到digitalocean的DNS设置中将域名和Droplet绑定在一起,可参考How To Set Up a Host Name with DigitalOcean。
写文章
折腾了一番,终于到写文章。其实上面的东西都不重要,博客最大的功能是记录自己的想法和思想,而不是博客的本身。搭100次博客不如踏踏实实写一篇文章。
- 多写文章,少折腾。
- 多写文章,少折腾。
- 多写文章,少折腾。
重要的事情要说三遍。
ps:直接访问发现首页还是lnmp的安装页面,将default目录下的index.html