nginx - 从 Codepipeline 更新文件后 AWS EC2 站点未更新
问题描述
我试图弄清楚为什么我的“AWS EC2”实例站点没有反映我通过“代码管道”推送的更改
我将我的 Django 应用程序代码从 Github 推送到 Codepipeline 到 Codedeploy,然后推送到我在“ubuntu 18.04”服务器上运行的 AWS EC2 实例。部署在 Codepipeline 中显示为成功,我还可以在我的 EC2 实例中看到最新推送的项目。该站点还使用 gunicorn 和 nginx。
这是我的设置:
gunicorn.socket 文件:
[Unit]
Description=gunicorn socket
[Socket]
ListenStream=/run/gunicorn.sock
[Install]
WantedBy=sockets.target
gunicorn.service 文件:
[Unit]
Description=gunicorn daemon
Requires=gunicorn.socket
After=network.target
[Service]
User=ubuntu
Group=www-data
WorkingDirectory=/home/ubuntu/Sounds/djangoapp1
ExecStart=/home/ubuntu/env/bin/gunicorn \
--access-logfile - \
--workers 3 \
--bind unix:/run/gunicorn.sock \
djangoapp1.wsgi:application
[Install]
WantedBy=multi-user.target
在 AWS IAM 控制台中,我有一个具有以下权限的用户:
- AWSCodeCommitFullAccess
- AmazonS3FullAccess
- AWSCodePipelineFullAccess
- github-access(自定义权限,允许 '*' 进行编码部署)
在 IAM 中我拥有的角色:
- AWSCodeDeployRole(我用“codedeploy”而不是“aws”编辑了“信任关系”)
- 服务角色代码部署
EC2 实例连接到名为“EC2Instance”的 IAM 角色,它有 2 个权限策略:
- AmazonEC2FullAccess
- AmazonEC2RoleforAWSCodeDeploy
appspec.yml :
version: 0.0
os: linux
files:
- source: /
destination: /home/ubuntu/
hooks:
AfterInstall:
- location: scripts/start_server.sh
timeout: 300
runas: root
这是我第一次通过代码管道进行部署,有没有办法通过日志检查以查看问题?
部署后我还执行了以下命令:
sudo systemctl restart gunicorn
sudo systemctl restart nginx
有任何想法吗?如果您需要更多信息或设置,请告诉我
解决方案
推荐阅读
- c# - 如何将 JSON 流反序列化为 JToken?
- jquery - 我正在使用 SELECT2 下拉菜单并在 wordpress 中添加图像以及下拉文本,但它不起作用
- amazon-elb - 即使处于所有健康状态,MarkLogic AWS 负载均衡器也不会将请求路由到所有主机
- c# - AutoFixture 和 XUnit2 - 结合 TheoryData 和 AutoData
- pentaho - 超出 Pentaho 转换 GC 开销限制
- excel - 比较两列高亮单元格并显示单元格地址
- python - 使用 LSTM 自动编码器的一次一次值异常检测模型:可能吗?
- python - Python selenium通过xpath点击元素不起作用
- php - Bangla 字体无法在 mpdf 中正确显示
- flutter - 如何在颤动中使用 dio 在标头中传递访问令牌