我总是忘记重新加载nginx设置,sudo service nginx reload,而工作在/实验/学习配置文件,nginx (和其他包含的配置文件)。
在以下任何更改之后,nginx是否有办法重新加载配置文件:
你可能会认为我忘记重新加载是愚蠢的/愚蠢的,但是当我是新的、真正的学习和实验的时候,确实有足够的时间来跟踪。
发布于 2015-07-07 13:05:05
使用配置管理系统部署这些更改,并包括一个触发器,用于自动重新启动配置文件已更改的服务。
当你学习的时候,养成使用CM的习惯是非常值得的,因为在你以后的职业生涯中,要改掉坏习惯要困难得多。
为了让您开始,这里有一个简单的ansible剧本,它将将一个nginx配置文件部署到您的服务器上,然后如果有任何变化,重新启动nginx:
---
- hosts: web
sudo: yes
tasks:
- name: Install packages
apt: state=installed install_recommends=no name={{ item }}
with_items:
- nginx
- name: Deploy nginx config file
copy: src=nginx.conf dest=/etc/nginx/nginx.conf
notify: restart nginx
handlers:
- name: restart nginx
service: name=nginx state=restarted将文本保存到像foo.yml这样的文件中。您还需要一个库存文件来告诉ansible (S)在哪个主机上运行这些命令。创建一个hosts文件,其内容如下:
[web]
servername.example.com将您的剧本、库存文件和nginx.conf保存在同一个目录中。
然后你可以应用剧本:
$ ansible-playbook foo.yml -i hosts -K发出该命令后,您将被要求提供sudo密码。提供它,然后剧本就会运行。
发布于 2015-07-07 18:31:30
显然,您希望拥有一个配置管理系统(,配置管理系统),而Ansible是自动化ap部署的关键。
我认为CI(连续集成)或CD(连续部署)也可以满足您的needs.use git+CI/CD+VM,您可以测试您的服务easily.Some服务,您可以尝试:
可运输,循环CI,GitLab CI。
https://serverfault.com/questions/704065
复制相似问题