[Elastic Beanstalk] Nginx configuration is not being copied to /etc/nginx

1

As the title sais, the configuration files of nginx are not being copied from /var/proxy/staging to /etc/nginx as it should (maybe?). I have followed the documentation about overwritiing the default nginx conf, so this is my bundle tree:

app_root/
├─ .platform/
│  ├─ nginx/
│  │  ├─ nginx.conf
│  │  ├─ conf.d/
│  │  │  ├─ my_custom_conf.conf

Unfortunantely the files are copied to /var/proxy/staging and not copied to /etc/nginx. The configuration file is correct (I also manually copied to /etc/nginx and restarted the webserver and it works). If I press "environment rebuild" from the beanstalk console, the new instance won't even start nginx automatically. I had to make another postdeploy script to move the files and restart nginx. In the eb-engine.log logs there's nothing beside the copy command:

Running command /bin/sh -c cp -rp /var/app/staging/.platform/nginx/. /var/proxy/staging/nginx

I have other applications where this works fine. I can't find the solution.

profile picture
floro
已提问 2 年前1071 查看次数
1 回答
1

Hello,

Thank you for posting your query on re:Post. As I understand, you are facing issue configuring the Nginx proxy, however the changes are not copying to the desired location.

As per the directory structure is concerned, the one you mentioned seems correct to me. Based on the documentation, the .platform directory should be at the root of the source bundle.

[] Extending Elastic Beanstalk Linux platforms - https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/platforms-linux-extend.html

Now, since this is working on other applications, there is something specific to your current application which is causing the issue. Therefore, is it possible for you reach out to AWS Support via the support case (for privacy concerns) for further troubleshooting on the issue.

Please share the complete bundle logs, details of the environment like environment name or id. for more insights.

Further on the copy command, the command is executed after the nginx configuration is validated. Please refer the below logs for my replication.

2022/09/12 14:32:07.721209 [INFO] Executing instruction: start proxy with new configuration

2022/09/12 14:32:07.721232 [INFO] Running command /bin/sh -c /usr/sbin/nginx -t -c /var/proxy/staging/nginx/nginx.conf

2022/09/12 14:32:07.731058 [INFO] nginx: the configuration file /var/proxy/staging/nginx/nginx.conf syntax is ok

nginx: configuration file /var/proxy/staging/nginx/nginx.conf test is successful

2022/09/12 14:32:07.731356 [INFO] Running command /bin/sh -c cp -rp /var/proxy/staging/nginx/* /etc/nginx

Therefore, can you please check if in the logs you are getting anything apart from the log entry you mentioned.

Hoping that the above helps. Thank you.

AWS
支持工程师
已回答 2 年前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则