安装lnmp
因为我懒、 而且 lnmp 是最快的统一配置php环境的方式,所以我用了它
lnmp官方网站
lnmp1.6版本1
wget http://soft.vpser.net/lnmp/lnmp1.6.tar.gz -cO lnmp1.6.tar.gz && tar zxf lnmp1.6.tar.gz && cd lnmp1.6 && ./install.sh lnmp
根据自己的需求选择响应的配置即可。安装时间有点旧,请耐心等待。
配置 https
在阿里云或者腾讯云申请到了https证书后下载到服务器后,进行以下操作。
unzip 解压到指定目录
1
unzip -o test.zip -d /tmp/
配置 nginx 选项
- 如果是 lnmp 生成虚拟主机的时候有相应的配置项,按照配置说明即可。
普通 nginx 配置
编辑 nginx.conf
1
vim /usr/local/nginx/conf/nginx.conf
在需要配置https的 server 里进行如下配置
1
2
3
4ssl_certificate /root/project/ssl/nginx.crt;#证书路径
ssl_certificate_key /root/project/ssl/nginx.key;#key路径
ssl_session_cache shared:SSL:1m; #s储存SSL会话的缓存类型和大小
ssl_session_timeout 5m; #会话过期时间
http 自动跳转到 https
1
2
3
4server{
listen 80 www.****.com;
rewrite ^/(.*)$ https://www.****.com/$1 permanent;
}
配置 laravel 项目
- lnmp下虚拟主机生成的项目会带有一个叫做
.user.ini
的文件,而且烦人的是,正常情况下无法删除
- 删除 .user.ini
chattr -i /home/wwwroot/你的网站目录/.user.ini
- 如果你使用 deploy 或者其他的代码部署工具,部署时会遇到部署失败的问题,原因在于php安全项设置
1
vim /usr/local/php/etc/php.ini
找到 disable_functions
删除掉被禁止的 funciton 即可
500 错误
500 解决网址1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16#新增 支持laravel 优雅链接,在laravel 文档里有说明
location / {
try_files $uri $uri/ /index.php?$query_string;
}
#新增 支持php 的配置
location ~ \.php$ {
#不能有下面这句 try_files ,不然报错500
# try_files $uri /index.php =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
#这句注意 后面是.sock 不是127.0.0..1
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}解决NGINX PHP “No input file specified”
更改php.ini
首先php.ini的配置中把
;cgi.fix_pathinfo=0 改为
cgi.fix_pathinfo=1
重启PHP或PHP-FPM在nginx/conf/nginx.conf 找到:
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; 改为:
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;nginx restart