Ubuntu 搭建LNMP环境并支持thinkphp框架

环境: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

你可能感兴趣的:(php,lnmp)