V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
allenhu
V2EX  ›  问与答

精通 Nginx PHP 项目配置的请进!

  •  
  •   allenhu · 2018-09-19 17:00:18 +08:00 · 1258 次点击
    这是一个创建于 2044 天前的主题,其中的信息可能已经有所发展或是发生改变。

    目前是这样一个需求,要求把不同的 php 项目部署到相同域名+端口下,也就是部署在不同的子目录。要求最终效果是这样的:

    • http://xxx.com/app1 访问项目 1

    • http://xxx.com/app2 访问项目 2

    • 现在的 nginx 配置是这样的,能够正常工作,但是个人觉得写法很恶心,请问大神有优雅点的方式么?

            location /app1 {
                alias html/php-app1/;
                try_files $uri $uri/ @app1;
    
                location ~ \.php$ {
                    fastcgi_pass 127.0.0.1:9000;
                    fastcgi_index index.php;
                    fastcgi_param SCRIPT_FILENAME $request_filename;
                    include fastcgi_params;
                }
            }
    
            location @app1 {
                rewrite /app1/(.*)$ /app1/index.php?/$1 last;
            }
    
    4 条回复    2018-09-20 05:38:03 +08:00
    alex321
        1
    alex321  
       2018-09-19 18:03:45 +08:00
    try_files $uri $uri/ /app1/index.php;

    来源: https://www.nginx.com/resources/wiki/start/topics/recipes/codeigniter/
    secretman
        2
    secretman  
       2018-09-19 20:06:18 +08:00 via Android
    配置都不格式化一下就发出来,难怪不会
    zn
        3
    zn  
       2018-09-19 20:16:54 +08:00 via iPhone
    很正常的写法啊,怎么恶心了?哪里恶心了?
    msg7086
        4
    msg7086  
       2018-09-20 05:38:03 +08:00
    location /app1
    location @ app1
    location /app2
    location @ app2
    location ~ \.php$

    一共 5 段吧,你觉得恶心吗?我觉得还好吧,正常操作。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3386 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 11:15 · PVG 19:15 · LAX 04:15 · JFK 07:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.