Nginx
ansible 符號連結的正確語法
使用 ansible 創建符號連結的正確語法是什麼? 我正在創建一個 Vagrant 虛擬環境並執行 ansible 作為我的供應商。一切正常,直到我嘗試從啟用站點的符號連結到我的站點 nginx 配置文件。這是我嘗試過的。
- name: Create symlink to example.com file: path: /etc/nginx/sites-enabled/example.com dest: /etc/nginx/sites-available/example.com state: link notify: nginx reload
當我這樣做時,我遇到了以下錯誤。
錯誤:載入 YAML 腳本時出現語法錯誤,/Users/username/project/ansible/roles/nginx/tasks/main.yml
注意:錯誤可能實際上出現在這個位置之前:第 24 行,第 1 列
- 名稱:到 example.dev.conf 的符號連結
文件:路徑=/etc/nginx/sites-enabled/example.dev.conf
狀態=連結
^ Ansible 未能成功完成。任何錯誤輸出都應該在上面可見。請修復這些錯誤,然後重試。
我也嘗試過使用
src=/etc/nginx/sites-enabled
而不是,path
但我似乎無法在網上找到一個明確的例子。眼鏡:
- OSX 小牛隊
- 流浪者 1.6.3
- 虛擬盒子 4.3
- nginx 1.6.0
- 安可 1.6.2
- Ubuntu 14.04
從文件中:
src,要連結到的文件的路徑(僅適用於 state=link)。將接受絕對、相對和不存在的路徑。相對路徑不展開。
您需要使用
src
和dest
使用時state=link
, 不是path
。您還需要顛倒您的源和目標,這似乎是錯誤的方式(假設您真的想連結到sites-available
fromsites-enabled
) -src
是連結到的路徑,dest
是創建符號連結的位置。- name: Create symlink to example.com file: src=/etc/nginx/sites-available/example.com dest=/etc/nginx/sites-enabled/example.com state=link notify: nginx reload