Как мне установить подкаталог в nginx-bitnami-CI? - PullRequest
0 голосов
/ 04 ноября 2019

Я использую сервер Nignx bitnami codeigniter.

При наличии существующего проекта codeigniter в корневой папке теперь необходимо добавить новое приложение в подпапку. В apache просто создайте подпапку и скопируйте в нее codeigniter, но в nginx он продолжает подключаться как приложение root, обрабатывая подпапку как контроллер, и возникает ошибка 404. Как мне его настроить?

это мой конфигурационный файл Bitnami.

server { 
    listen       80; 
    server_name  localhost; 
    include "/opt/bitnami/nginx/conf/bitnami/phpfastcgi.conf"; 
    include "/opt/bitnami/nginx/conf/bitnami/bitnami-apps-prefix.conf"; 
     ## Root and index files. 
    root /opt/bitnami/nginx/html; 
    index  index.php index.html index.htm; 
    ## If no favicon exists return a 204 (no content error). 
    location = /favicon.ico { 
        try_files $uri =204; 
        log_not_found off; 
        access_log off; 
    } 
    ## Don't log robots.txt requests. 
    location = /robots.txt { 
        allow all; 
        log_not_found off; 
        access_log off; 
    } 
    ## Try the requested URI as files before handling it to PHP. 
    location / { 
        proxy_buffers 8 1024k; 
        proxy_buffer_size 1024k; 
        ## Regular PHP processing. 
        location ~ \.php$ { 
            try_files  $uri =404; 
            #fastcgi_pass   php_processes; 
            fastcgi_pass unix:/opt/bitnami/php/var/run/www.sock; 
            fastcgi_index  index.php; 
            fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name; 
            include        fastcgi_params; 
        } 
        ## Static files 
        location ~* \.(?:css|gif|htc|ico|js|jpe?g|png|swf)$ { 
            expires max; 
            log_not_found off; 
            ## No need to bleed constant updates. Send the all shebang in one 
            ## fell swoop. 
            tcp_nodelay off; 
            ## Set the OS file cache. 
            open_file_cache max=1000 inactive=120s; 
            open_file_cache_valid 45s; 
            open_file_cache_min_uses 2; 
            open_file_cache_errors off; 
        } 
        ## Keep a tab on the 'big' static files. 
        location ~* ^.+\.(?:ogg|pdf|pptx?)$ { 
            expires 30d; 
            ## No need to bleed constant updates. Send the all shebang in one 
            ## fell swoop. 
            tcp_nodelay off; 
        } 
    } # / location 
    if (!-e $request_filename ) { 
          rewrite ^(.*)$ /index.php last; 
    } 
}

и этот код перенаправляет весь путь к indx.php.

if (!-e $request_filename ) { 
          rewrite ^(.*)$ /index.php last; 
    }

Спасибо.

1 Ответ

0 голосов
/ 08 ноября 2019

Развернули ли вы свое приложение в каталоге /opt/bitnami/nginx/html (корневой каталог NGINX)? Если вы использовали другой путь, вам нужно настроить NGINX для обслуживания этих файлов

Вы можете развернуть пользовательское приложение PHP с нуля, выполнив следующие действия. В этих шагах предполагается, что ваше приложение будет находиться в каталоге / opt / bitnami / apps / myapp /:

  • Выполните следующие команды, чтобы создать каталоги и назначить необходимые разрешения:
sudo mkdir /opt/bitnami/apps/myapp
sudo mkdir /opt/bitnami/apps/myapp/htdocs/
sudo mkdir /opt/bitnami/apps/myapp/conf
sudo chown -R bitnami:daemon /opt/bitnami/apps/myapp/htdocs/
sudo chmod -R g+w /opt/bitnami/apps/myapp/htdocs/
  • Создайте и отредактируйте файл /opt/bitnami/apps/myapp/conf/nginx-prefix.conf и добавьте в него строку ниже:
location /myapp {
  alias "/opt/bitnami/apps/myapp/htdocs/";
  include "/opt/bitnami/apps/myapp/conf/nginx-app.conf";
}
  • Создайте и отредактируйте файл /opt/bitnami/apps/myapp/conf/nginx-app.conf и добавьте к нему содержимое, приведенное ниже. Это основной файл конфигурации для вашего приложения, поэтому измените его далее в зависимости от требований вашего приложения.
index index.php index.html index.htm;
location ~ \.php$ {
  fastcgi_split_path_info ^(.+\.php)(/.+)$;
  fastcgi_read_timeout 300;
  fastcgi_pass unix:/opt/bitnami/php/var/run/www.sock;
  fastcgi_index index.php;
  fastcgi_param  SCRIPT_FILENAME $request_filename;
  include fastcgi_params;
}
  • Добавьте следующую строку в конец / opt / bitnami / nginxФайл /conf/bitnami/bitnami-apps-prefix.conf:
include "/opt/bitnami/apps/myapp/conf/nginx-prefix.conf";
  • Перезапустите сервер NGINX:
sudo /opt/bitnami/ctlscript.sh restart nginx

Более подробную информацию вы можете найти в нашей документации: https://docs.bitnami.com/general/infrastructure/nginx/administration/create-custom-application-php/

...