Каковы правила синтаксиса для файлов конфигурации nginx (00_application.conf и 01_static.conf) для этого экземпляра, созданного AWS beanstalk? - PullRequest
0 голосов
/ 26 ноября 2018

Экземпляр, сгенерированный beanstalk, nginx в экземпляре использует эти два файла конфигурации по умолчанию.(00_application.conf и 01_static.conf)

Путь к двум файлам выглядит следующим образом:

[root@ip-10-0-0-145 elasticbeanstalk]# pwd
/etc/nginx/conf.d/elasticbeanstalk
[root@ip-10-0-0-145 elasticbeanstalk]# ls
00_application.conf  01_static.conf  healthd.conf
[root@ip-10-0-0-145 elasticbeanstalk]# cat 00_application.conf 
location / {
    proxy_pass          http://127.0.0.1:8080;
    proxy_http_version  1.1;

    proxy_set_header    Connection          $connection_upgrade;
    proxy_set_header    Upgrade             $http_upgrade;
    proxy_set_header    Host                $host;
    proxy_set_header    X-Real-IP           $remote_addr;
    proxy_set_header    X-Forwarded-For     $proxy_add_x_forwarded_for;
}

Содержимое файла /etc/nginx/nginx.conf в том же экземпляре::

# Elastic Beanstalk Nginx Configuration File

user                    nginx;
error_log               /var/log/nginx/error.log warn;
pid                     /var/run/nginx.pid;
worker_processes        auto;
worker_rlimit_nofile    67129;

events {
    worker_connections  1024;
}

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                  '$status $body_bytes_sent "$http_referer" '
                  '"$http_user_agent" "$http_x_forwarded_for"';

    include       conf.d/*.conf;

map $http_upgrade $connection_upgrade {
    default     "upgrade";
}

server {
    listen        80 default_server;
    access_log    /var/log/nginx/access.log main;

    client_header_timeout 60;
    client_body_timeout   60;
    keepalive_timeout     60;
    gzip                  on;
    gzip_comp_level       4;
    gzip_types text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript;

    # Include the Elastic Beanstalk generated locations
    include conf.d/elasticbeanstalk/*.conf;
}
}                                    

Я делаю тест, цель - использовать /etc/nginx/nginx.conf вместо 00_application.conf, но он сообщает об ошибке: nginx: [emerg] директива user являетсяздесь не разрешено в /etc/nginx/conf.d/elasticbeanstalk/00_application.conf:3

[root@ip-10-0-0-145 elasticbeanstalk]# ls
00_application.conf  01_static.conf  healthd.conf
[root@ip-10-0-0-145 elasticbeanstalk]# mv 00_application.conf 
00_application.conf_20181126bak
[root@ip-10-0-0-145 elasticbeanstalk]# cp /etc/nginx/nginx.conf 
00_application.conf
[root@ip-10-0-0-145 elasticbeanstalk]# /etc/init.d/nginx stop
[root@ip-10-0-0-145 elasticbeanstalk]# /etc/init.d/nginx start
Starting nginx: nginx: [emerg] "user" directive is not allowed here in /etc/nginx/conf.d/elasticbeanstalk/00_application.conf:3

Вопрос1:

Почему директива user не разрешена здесь, в / etc /nginx / conf.d /asticbeanstalk / 00_application.conf?

Вопрос2:

Каковы правила синтаксиса для файлов конфигурации nginx: /etc/nginx/conf.d/elasticbeanstalk/00_application.conf и /etc/nginx/conf.d/elasticbeanstalk/01_static.conf?

Вопрос3:

Есть ли способ сделать файл конфигурации nginx для экземпляра, сгенерированного beanstalk, как / etc/nginx/nginx.conf?

Эта ссылка Как настроить .ebextensions для nginxдиректива location? может быть ответом на вопрос 3?

...