环境:ubuntu 16.04
1、快速安装NMP:
1.1 apt-get update 更新源列表
1.2 apt-get install nginx 安装nginx;dpkg -S nginx 命令可以搜索 nginx相关文件,Nginx的安装路径为/etc/nginx;其配置文件nginx.conf也是在该目录下,并且在 etc/init.d 下有 nginx的启动程序,该目录下的程序都会在系统开启时启动。
此外,Nginx的默认网站目录是 /usr/share/nginx/html/,默认Nginx网站配置文件为 /etc/nginx/sites-available/default 。
1.3 apt-get install php7.0 php7.0-fpm 安装php;
1.4 apt-get install mysql-server mysql-client php7.0-mysql 安装mysql;安装过程需要为root用户设置密码;
2、配置nginx与php-fpm:
注:2.1/2.2没有配置的话,会出现nginx 502 bad gateway 的提示;
2.1、sock配置(无访问权限不可用:会出现111: Connection refused)
php7.1-fpm.sock文件的位置其实是/var/run/php/php7.1-fpm.sock;所以使用时,我们需要把/etc/php/7.1/fpm/pool.d/www.conf 里的listen = /run/php/php7.1-fpm.sock 改为 listen = /var/run/php/php7.1-fpm.sock
同样的,我们需要把/etc/nginx/asites-available/default 里的改为fastcgi_pass unix:/var/run/php/php7.1-fpm.sock;
2.2、其实上面提到的sock监听没有给予权限是不可用的。所以还有另外一种办法:
default文件配置改为:fastcgi_pass 127.0.0.1:9000;
www.conf文件配置改为:listen = 127.0.0.1:9000
注意把原先的两条sock监听的配置注释了;
2.3、fastcgi.conf 中添加:fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
2.4、default文件中,还要把location ~ \.php$ {} 里 include snippets/fastcgi-php.conf;的注释去掉
3、thinkphp 隐藏入口文件
在location / {}里加入这段代码:
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=/$1 last;
break;
}
4、mysql配置
3.1 将/etc/mysql/mysql.conf.d/mysqld.cnf 文件里bind-address = 127.0.0.1改为 bind-address = 0.0.0.0;否则远程连接时会出现10061:unknown error的报错;
3.2 进入mysql,将user表里user=root 的 host 从localhost 改为 ‘%’,否则会出现Host "xxx.xxx.xx.xx" is not allowed to connect this MYSQL server;