nginx + php 在linux 上部署记录

nginx + php 在linux 上部署记录

月光魔力鸭

2019-09-07 17:34 阅读 162 喜欢 0 php部署 nginx+php

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


感谢支持!

赞赏支持
提交评论
评论信息(请文明评论)
暂无评论,快来快来写想法...
推荐
对于视频,音频等的处理,使用ffmpeg还是很方便的,但是由于命令繁多,又不好记忆,这里整理下个人常用的几个命令,后续方便查找。
在写前端页面的时候,反复操作的是切换,写完代码,切换到浏览器,然后刷新,查看效果,不合适,然后再切换回编辑器,然后修改,这样反复操作。livereload 释放了双手,自动刷新(尤其是双屏的同学特别友好)
日常使用`sublime text3`的时候,每次一打开都会提示让下载最新版本,可给愁死了。那么如何取消自动更新的提示呢?
作为程序员或多或少会用到这部分,但是又不常用,这里简单记录下大神给讲解的小技巧。
傅里叶啊傅里叶 要掐死你啦..
Access denied for user 'root'@'localhost' (using password: YES) 碰到一个错误,不知道怎么动了权限导致外网,本地都登录不进去了。
最近有实现作业的展示的需求,在这里仅仅记录下当时自己的思路,大体如何实现的,这里并不体现代码,只有思路。
一直在做K12教育方面的产品,不过大都是学校管理层面的,对于教学一直很少触及。当然,这类的产品已经存在不少了,在功能、设计方面我们都会借鉴一些进行改进,其中有一些基础数据,如果也是从头自己收集的话,我想,可能会死的吧...比如:各个学段内的教材和章节信息。