nginx + php 在linux 上部署记录,记录下部署php项目的时候的经过,查了很多资料,最后才定出的这个,中间些许问题可能已经记不清楚了,趁着时间步长,赶紧回忆一下。
现在比较流行的是lnmp
lnmpa
lamp
,其中l 对应linux
, n对应nginx
, m 对应mysql
,p 对应php
,a 对应 apache
.
由于意识(工作的这几年一直没接触过PHP ,都是java js的搞)还停留在好多年前,也是自己瞎折腾了一阵子才慢慢搞明白的。
关于 LNMP
应该很成熟了吧(自己瞎猜的),直接照着官网来,由于个人比较熟悉(用过) nginx
,所以直接上手了这个。
安装直接照着官网一步一步来即可,这里复制下,不用两边跑了。
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
然后一直等待,过程中可能会需要输入些密码之类的,自己记住就好。 安装完成后会有一个整体的提示,个人建议最好是拍照留存,后续有问题需要找的时候,还是比较方便的。
以上是关于安装,安装后如何跑起php项目,并能够访问,这里主要写下关于nginx
的配置。
server
{
listen 80;
#listen [::]:80 default_server ipv6only=on;
server_name xxx.xxx.com;
index index.html index.htm index.php default.html default.htm default.php;
root /mnt/adcrm;
#error_page 404 /404.html;
location ~* ^/(public|install|application|thinkphp|template|plugins|backup|extend|runtime|topthink|vendor)/.*\.(php|php5)$
{
deny all;
}
location / {
index index.htm index.html index.php;
if (!-e $request_filename){
#地址作为将参数rewrite到index.php上。tp框架接收s参数为controller和action,不少框架都利用这种方式来实现伪pathinfo模式(pathinfo为php功能,nginx并不支持)
rewrite ^/(.*)$ /index.php?s=$1 last;
break;
}
}
location ~.*\.(gif|jpg|jpeg|png|bmp|swf)$
{
root /mnt/adcrm;
#expires 30d;
}
# js css缓存一小时
location ~.*\.(js|css)$ {
root /mnt/adcrm;
#expires 1h;
}
#error_page 404 /404.html;
include enable-php.conf;
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 12h;
}
location ~ /\.
{
deny all;
}
access_log /home/wwwlogs/access.log;
}
OK,记录到此,都是浅尝辄止,主要是帮朋友一个忙,所以也并没有多多去研究,都是瞎捣鼓。
转载请注明出处: https://chrunlee.cn/article/linux-nginx-php-install.html