最近我和我雪一致得出结论:Alpharacks这家VPS服务商就是个傻吊。卡成马疯狂掉线,ss才是它的归宿。我雪转移回了传家宝12刀的搬瓦工,然而我并没有搬瓦工,Virmach口碑一直还不错,我从15年就持有他们一个小鸡,内存只有128m,没有办法装XAMPP,装到一半爆内存,我便自己折腾了一下搭建了Nginx+PHP-FPM环境使用。
环境
- Debian 7 x86
- Nginx 1.2.1
- PHP5-FPM 5.4
- MySQL 5.5.60
安装过程
Virmach并没有提供Debian 8/9的32位版本,想了想我的128m内存,在Debian 8 64位和Debian 7 32位之间我还是选择了后者,软件包老点就老点吧,又不是不能用。
因为习惯了输入apt而不是apt-get,我在bashrc里alias了一下
alias apt='apt-get'
其实Debian 7只能用apt-get,后文全是apt不再赘述。
Nginx
Debian安装Nginx非常简单,直接apt install即可。值得一提的是,Debian非常贴心的将上游的Nginx打包成了3份:nginx-light, nginx-full(即正常安装的nginx), nginx-extra。具体区分可见官方wiki:https://wiki.debian.org/Nginx我仔细看了一遍,nginx-light即可满足我的需要,直接安装:
apt install nginx-light
安装成功后直接
nginx
启动,然后用w3m localhost试试,可以正常访问
MySQL
根据https://wiki.debian.org/MySql直接
apt install mysql-server
安装完成后为了外网可以访问需要修改下my.cnf
my.cnf
bind-address=127.0.0.1
改为
bind-address=0.0.0.0
然后
$ mysql -u root -p
进入mysql控制台
> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'ROOTPASSWORD' WITH GRANT OPTION;
> flush privileges;
修改完成后重新启动mysql服务,由于Debian 7还没有使用systemd,我们需要
$ /etc/init.d/mysql restart
PHP
PHP针对不同服务器的最佳接口提供PHP端的不同接口,Apache2的最佳选择是以apache mod形式提供的,Nginx最佳选择是FastCGI形式提供的PHP-FPM,Lighttpd等其他使用则使用CGI。
Debian对上述形式的PHP都为我们打好了包,包名分别是libapache2-mod-php5,php5-fpm,php5-cgi,我们这里选择php5-fpm。
直接
apt install php5-fpm
然后修改nginx配置文件,通过debian对nginx配置文件的组织,我们可以在/etc/nginx/nginx.conf中发现具体每个server的配置在/etc/nginx/sites-enable/里,我们对其中default默认配置进行编辑,将其中PHP FastCGI部分注释去除
/etc/nginx/sites-enable/default
由于个人习惯,我顺便把webroot搬至了/opt/htdocs/main中。
然后重启nginx:
$ nginx -s reload
即可,使用phpinfo测试一下php的配置情况:
/opt/htdocs/main/phpinfo.php
<?php
phpinfo();
?>
但是,可以在phpinfo里看到,现在并没有安装php的mysql,mysqlnd或者mysqli扩展,对Debian软件包一番搜索,我发现原来Debian都为我们打好了包,直接
apt install php5-mysqlnd
安装过程中php-fpm自动重启,刷新下phpinfo页面,即可看到mysql已经准备就绪。
至此,整个Nginx+PHP+MySQL环境安装完成,剩下的便是博客等各个文件的转移,不再细表。
title: 将博客迁移至Nginx+PHP-FPM环境
time: 2018-04-26 22:39
tags: Nginx,PHP-FPM,LNMP
category: Study