• Nginx 在各种语言框架下的配置


    对于各种语言常用的框架,Nginx 在官方的 Wiki 页面的 入门 部分提供了示例配置文件。具体可以参考这个页面的 Pre-canned Configurations 部分,这里列出了各种框架。

    直接点击 Codeigniter 进入 Codeigniter 框架的设置页面:

    官方示例中的 Nginx 配置:

    server {
            server_name domain.tld;
    
            root /var/www/codeignitor;
            index index.html index.php;
    
            # set expiration of assets to MAX for caching
            location ~* .(ico|css|js|gif|jpe?g|png)(?[0-9]+)?$ {
                    expires max;
                    log_not_found off;
            }
    
            location / {
                    # Check if a file or directory index file exists, else route it to index.php.
                    try_files $uri $uri/ /index.php;
            }
    
            location ~* .php$ {
                    fastcgi_pass 127.0.0.1:9000;
                    include fastcgi.conf;
            }
    }

    配置完成后,需要设置 codeIgniter 的 config.php 文件,内容如下:

    $config['base_url'] = "http://domain.tld/";
    $config['index_page']       = "";
    $config['uri_protocol']     = "REQUEST_URI";

    也可以选用下面这种配置,同样适用于生产环境。这里只需要删除 config.php 文件中的 “index.php”:

    $config['base_url'] = "";
    $config['index_page']       = "";
    $config['uri_protocol']     = "AUTO";
    server {
            listen       80;
            server_name  localhost;
            root   /var/www/html/ci;
            autoindex on;
            index index.php;
    
            location / {
                try_files $uri $uri/ /index.php;
    
                location = /index.php {
                    fastcgi_pass   127.0.0.1:9000;
                    fastcgi_param  SCRIPT_FILENAME /var/www/html/ci$fastcgi_script_name;
                    include        fastcgi_params;
                }
            }
    
            location ~ .php$ {
                return 444;
            }
    }

    实际上我用的配置:

    Nginx 配置:

    server {
        listen       80;
        server_name  local.cn;
        root   /home/szhz;
    
        location / {
            if (-f $request_filename) {
                expires max;
                break;
            }
            if (!-e $request_filename) {
                rewrite ^/(.*)$ /index.php/$1 last;
            }
            index index.php;
            autoindex off;
        }
    
        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ .php(.*)$  {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_split_path_info  ^((?U).+.php)(/?.+)$;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_param  PATH_INFO  $fastcgi_path_info;
            fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
            include        fastcgi_params;
        }
    }

    CodeIgniter 配置:

    $config['base_url'] = '';
    $config['index_page'] = 'index.php';
    $config['uri_protocol']    = 'REQUEST_URI';
  • 相关阅读:
    python 实现redis订阅发布功能
    python装饰器实现对异常代码出现进行监控
    回首2017 展望2018
    结合jira搭建自动化测试平台
    安装YApi 接口管理平台
    Django 连接mysql数据库中文乱码
    在django admin中添加自定义视图
    django 模型models
    用户行为分析数据库设计
    vCenter Server 6 Standard
  • 原文地址:https://www.cnblogs.com/kika/p/10851586.html
Copyright © 2020-2023  润新知