原创作品,转载时请务必以超链接形式标明文章原始出处:http://dapalm.com/ubuntu-14-04-vps部署nginx-php-mariadb-phpmyadmin-wordpress个人博客.html,作者:大数据,怕了么?
1.个人博客建站软件及版本选择:
首先网站所使用的VPS服务器是日本软银旗下的IDCF,在使用的这段时间来说,还是相当稳定的,除了晚上8-9点钟会偶尔抽风,一切正常,价格也能接受,一个月540日元(含税)。搭建网站后台主要使用Ubuntu14.04 + Nginx1.46 + php 5.5.9 + MariaDB 10.0.28 + WordPress 4.7 + phpMyAdmin 4.0.10,也不知道这些软件版本的新旧,本着初学能用,先把个人博客环境搭出来,慢慢再改进优化的原则,向各位介绍介绍自己的搭建过程。
1.1 Ubuntu 14.04.5 LTS
1.2 Nginx 1.4.6
1.3 php 5.5.9
1.4 MariaDB-10.0.28
1.5 phpMyAdmin 4.0.10
上面是本站点所用的服务器端软件,前期搭建时,除了不少问题,都是因为Nginx版本和MySQL的问题,后来把Nginx版本从1.10.x降到了1.4.x,抛弃了MySQL直接使用它的替代品MariaDB,很迅速的网站就跑起来了。因为是网站新手,之前也没有太多相关经验,往大伙海涵,本人现在程序员一枚,刚刚研究生毕业,准备从事图像深度学习领域的工作,以后博文主要还是集中在分享深度学习和嵌入式硬件相关技术上。个人建站只是个业余爱好,业余归业余,作为一名励志成为优秀软件工作者的“大掌”来说,还是要认真对待的。下面讲讲具体的操作步骤,供各位参考:
2.网站后台搭建步骤:
2.1 安装软件
apt-get install nginx postfix php5-fpm mariadb-server memcached
apt-get install php-pear php5-mysql php5-curl php5-gd php5-mcrypt php5-memcache
apt-get install python make screen git wget zip unzip iftop vim curl htop iptraf nethogs
- nginx: Web 服务器
- postfix: SMTP 服务器,用来支持从本地发送邮件
- php5-fpm: PHP 进程管理器,及 PHP 解释器
- mariadb-server: 类 MySQL 数据库
- memcached: 基于内存的缓存,很多程序会用到
- php-pear: PHP 的包管理器
- php5-mysql: PHP MySQL 数据库驱动
- php5-curl: 一个 HTTP 协议库
- php5-gd: 一个图像处理库
- php5-mcrypt: 一个加密算法库
- php5-memcache: Memcached 驱动
- python: 一个常用的脚本语言解释器
- make: 一个常用的构建工具
- screen: 一个常用的 Shell 会话管理工具
- git: 一个常用的版本控制工具
- wget, curl: 常用的文件下载工具
- zip, unzip: ZIP 压缩和解压工具
- iftop, iptraf, nethogs: 常用的流量监控工具
- vim: 一个常用的编辑器
- htop: 一个常用的进程监控工具
软件安装很简单,是参考王子亭的博客:https://jysperm.me/2014/09/1830/。
2.2 WordPress安装设置
新建一个普通用户,并切换到该用户
adduser myblogweb
su myblogweb
cd ~
下载 WordPress, 使用的是中文最新版4.7:
wget http://cn.wordpress.org/wordpress-4.7-zh_CN.zip
解压文件:
unzip wordpress-*.zip
设置文件权限:
chmod -R 750 wordpress
删除安装包:
rm wordpress-*.zip
回到 root:
exit
2.3 配置php5-fpm
为 WordPress 创建一个进程池:
vi /etc/php5/fpm/pool.d/wordpress.conf
这是一份很典型的配置文件,通过监听 Unix Socket 来提供服务,动态调节进程数,最高 10 个进程,最低 3 个进程:
[wordpress]
user = myblogweb
group = myblogweb
listen = /home/myblogweb/phpfpm.sock
listen.owner = myblogweb
listen.group = myblogweb
listen.mode = 0660
pm = dynamic
pm.max_children = 10
pm.min_spare_servers = 3
pm.max_spare_servers = 5
slowlog = /home/myblogweb/phpfpm.slowlog
request_slowlog_timeout = 5s
request_terminate_timeout = 15s
php_admin_value[error_log] = /home/myblogweb/phpfpm_error.log
php_admin_flag[log_errors] = On
2.4 配置Nginx1.4.6
删掉 Nginx 的默认站点:
rm /etc/nginx/sites-enabled/default
新建一个站点,并链接到/etc/nginx/sites-enabled/default
:
vi /etc/nginx/sites-available/wordpress.conf
ln -s /etc/nginx/sites-available/wordpress.conf /etc/nginx/sites-enabled/default
这份配置文件已将请求重写到 index.php, 可以直接在 WordPress 中使用「固定链接」功能:
server {
listen 80;
server_name 你的域名,例如dapalm.com;
root /home/myblogweb/wordpress;
index index.html index.php;
autoindex off;
location / {
try_files $uri $uri/ /index.php;
}
location ~ \.php$ {
fastcgi_pass unix:///home/myblogweb/phpfpm.sock;
include fastcgi_params;
fastcgi_index index.php;
}
}
将 fastcgi_param SCRIPT_FILENAME
开头的行改为:
vi /etc/nginx/fastcgi_params
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
为 Nginx 添加读取 WordPress 文件的权限:
usermod -G myblogweb -a www-data
2.5 配置 MariaDB
进入 MariaDB控制台:
mysql -p
# 需要输入你的 MySQL root 密码
# 创建数据库,数据库名例如WordPressDB
CREATE DATABASE `数据库名`;
# 为 WordPress 新建用户,用户名和密码均为根据自己情况填
CREATE USER '用户名'@'localhost' IDENTIFIED BY '密码';
# 授予权限
GRANT ALL PRIVILEGES ON `数据库名` . * TO '用户名'@'localhost';
# 退出
exit
2.6 安装phpMyAdmin(即mysql图形管理界面)
sudo apt-get install phpmyadmin
sudo ln -s /usr/share/phpmyadmin/ /home/myblogweb/wordpress/pma
这样,就可在浏览器上输入:你的域名/pma。即可访问数据库,输入管理员账户和密码登录。
至此,网站后台就搭建起来了,相对于初学者已经够用了,后期可以在进行优化。浏览器输入:你的域名/wp-admin对你的网站进行WordPress后台管理编辑。WordPress简单易用,对于初学者来说,关注主题和插件即可搭建出漂亮的网站来。