关于vps的挑选
我通过百度搜索几番研究,基本锁定在vultr,cocoha这俩家。大概介绍一下背景&考虑。vultr是美国公司,母公司是05年创立,cocoha是日本公司,母公司是91年创立,并且都成立于2014年,所以充满活力并且背景雄厚,靠谱。
- vultr最便宜的配置是5美金/月(大概30RMB),cocoha是900日元/月(大概60RMB),配置大概是1core, 700mb,并且两者都有日本机房,访问速度基本可以接受(100ms左右ping值)。
- vultr站点全英文,支付方式是paypal(申请需要5-7工作日+银联卡),cocoha支持中文,支付方式是支付宝。
- 补充一点常识,天朝外的vps都是按分钟计时收费的,你只要账户里有余额就会计时扣费,你可以随时更换配置(加core加mem),而国内某些vps真的是包月,一旦付费创建就难以挽回。
本人比较抠门,既然两者配置相当,均有日本机房,当然选择便宜的vultr了。paypal的申请原理大概就是注册一个账号绑定一个银联卡,然后paypal在5-7天之间给你的银行卡汇入2笔随机小额转账,你将2笔金额到paypal里验证一下,就通过了~
环境配置
在安装好centos7系统后,要准备nginx,php,mysql这三个基本环境,下面依次搞定,记得先保持在root用户下。
1,关闭系统防火墙,并且取消开机启动,因为centos7默认会通过防火墙禁掉80等重要端口的访问
1 2 |
systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall开机启动 |
2,centos7的yum没有php7的源,我们要主动的更新一下。用php7主要是因为php7比php5快N倍,省资源
1 |
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm |
3,一步完成php7的php,php-fpm,以及若干开发常用extension的安装
1 |
yum install php70w php70w-bcmath php70w-fpm php70w-gd php70w-imap php70w-ldap php70w-intl php70w-mbstring php70w-mcrypt php70w-mysql php70w-pdo php70w-opcache php70w-pecl-imagick php70w-pecl-redis php70w-process php70w-snmp php70w-soap php70w-tidy php70w-xml php70w-xmlrpc |
4,安装nginx1.8,应该比yum install nginx的版本高一些,不过目前官网最新版本是1.9了
1 |
yum install nginx18 |
5,安装mysql客户端和服务端,在centos7下mysql默认是mariadb(和mysql完全兼容的开源分支版本)
1 |
yum install mariadb mariadb-server |
6,让nginx,php-fpm,mysql开机自启动,避免vps宕机重启导致服务不可用
1 2 3 |
systemctl enable nginx systemctl enable php-fpm systemctl enable mariadb |
7,安装vim,为了编辑nginx,php,mysql的配置文件
1 |
yum install vim |
8,习惯在work账号下部署站点,所以希望把wordpress项目放到work账号下(/home/work/wordpress),那么创建work账号并修改一下密码
1 2 |
useradd work passwd work |
9,既然wordpress在work账号下存放,那么nginx和php-fpm需要有读写wordpress目录的权限,因为nginx读静态文件,php-fpm读php文件。所以决定nginx和php-fpm的user和group全部改为work,原先nginx的应该是nobody,php-fpm的好像是apache。(下面整体贴nginx和php-fpm的配置)
10,因为nginx和php-fpm的user都改成了work,而yum安装它们默认的数据临时目录都是/var/lib/nginx,/var/lib/php,所以需要把这俩目录的user和group owner改一下
1 2 |
chown -R work:work /var/lib/nginx chown -R work:work /var/lib/php |
11,至于mysql,它的数据目录默认在/var/lib/mysql,默认mariadb的运行user和group是mysql:mysql,因为除了mysql自己读写自己数据,再就是php-fpm会访问mysql.sock套接字(只需要读权限),所以这个目录不需要改work:work了,不过建议检查一下这个目录是不是属于mysql:mysql,如果不是那么修复一下:
1 |
chown -R mysql:mysql /var/lib/mysql |
12,现在需要配置一下三个服务,之后就可以启动了,这里本着最小改动原则,贴一下配置改动点(依次是/etc/nginx/nginx.conf,/etc/php-fpm.d/www.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 |
# For more information on configuration, see: # * Official English Documentation: http://nginx.org/en/docs/ # * Official Russian Documentation: http://nginx.org/ru/docs/ user work; worker_processes 1; index index.php index.html index.htm; server { listen 0.0.0.0:80; server_name yuerblog.cc; root /home/work/wordpress; location / { try_files $uri $uri/ /index.php?q=$uri&$args; } 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; } |
1 2 3 |
user = work ; RPM: Keep a group allowed to write in log dir. group = work |
13,启动nginx,php,mariadb,关闭的话用stop替代start
1 2 3 |
systemctl start nginx systemctl start php-fpm systemctl start mariadb |
14,mariadb需要初始化一下root密码,之后就可以mysql -u root -p 访问数据库了,记得创建一下wordpress数据库(create database wordpress)
1 |
mysqladmin -u root password “这里是你的密码” |
15,一切就绪,现在把workpress代码下载,解压到/home/work/wordpress目录,打开浏览器访问”http://你的域名/readme.html”,即可进入引导说明界面,按指示安装即可。
如果文章帮助您解决了工作难题,您可以帮我点击屏幕上的任意广告,或者赞助少量费用来支持我的持续创作,谢谢~

大神终于开博客了,膜拜大神~
感谢大神帮我解决问题
nginx 用户www-data
目录也是 www-data
依然提示无权限,
strace -p定位 stat 成功 open失败
关闭selinux 使用命令 setenforce 0
第9条的配置没贴出来而且第10条的也只是改了下owner吧?
第9条配置在下面一起贴的~
2017 – 2 -25 配置好 了,感谢二炮!
二炮威武
感恩。
1