• nginx之location部署yii项目(不使用nginx端口转发)


    1. 前言: 之前部署yii项目的时候, 使用的是域名, 后来使用nginx进行端口转发(反向代理)来部署yii项目. 这一次部署尝试只使用location 进行部署(不需要使用端口).
    2. 先贴出nginx的配置
    3. 正题: 首先yii项目本地能够跑通, 在部署的时候, 遇到问题一定多去查看日志(主要是nginx的访问日志和错误日志). 在本次部署的时候, 遇到的问题是项目的样式没有出来, 项目样式没有出来  (1)可能是路径不对, (2) 静态资源没有访问权限, 我查看nginx访问日志


      发现请求这个静态资源的时候, 报了403 错误. 查看错误日志


      发现denied, 看划线的一行, 说明静态资源的后缀被限制访问了,  应该是可以通过修改php.ini的 security.limit_extensions 可以解决(没试过!应该可以), 我使用的解决方案是配置一个location 正则匹配静态资源, 这样就解决问题了.配置如下图


      问题解决!!!!~~~~~成功访问
    4. 将截图的代码赋值下来
       1 #通过 location 匹配yii项目配置如下
       2 location /quick-mould/ {
       3    root /home/php_project;
       4    fastcgi_pass 127.0.0.1:9000;
       5    fastcgi_index index.php;
       6    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
       7    include fastcgi_params;  
       8 }
       9 
      10 
      11 #上面的可以访问PHP脚本了, 但是项目里的静态资源访问不到, 所以需要再配置一个location, 并且要注意 红色部分不要有空格, 否则有语法错误
      12 location ~* /quick-mould/.*.(gif|jpg|jpeg|bmp|png|ico|txt|js|css)$ {
      13     root /home/php_project;  # 当请求/quick-mould目录下的静态资源的时候, 才会匹配到这个location, 访问其他目录下的不会匹配  
      14 }
    5. 项目部署其他的注意事项参考https://www.cnblogs.com/bneglect/p/11511647.html
    6. 根据访问路径匹配不同目录下的静态资源 配置请参考: https://segmentfault.com/q/1010000009158836
  • 相关阅读:
    Eclipse
    svn 常用
    spidermonkey编译
    float format 显示
    点击6次修改服务器地址
    UITextField字数限制
    UINavigationController
    运行时runtime
    IOS 技术与面试
    Cocos2dx笔记
  • 原文地址:https://www.cnblogs.com/bneglect/p/11766441.html
Copyright © 2020-2023  润新知