sitepilot/stack-nginx

为WordPress和Laravel优化的Web服务器配置的Ansible playbooks。

安装: 231

依赖项: 0

建议者: 0

安全: 0

星标: 5

关注者: 2

分支: 0

开放问题: 0

语言:Jinja

v1.1.16 2022-07-13 09:12 UTC

README

为WordPress和Laravel提供优化的Web服务器配置的Ansible playbooks。这些playbooks由Autopilot(我们的云服务器控制面板)使用,非常适合

  • 本地开发环境。
  • 高性能生产服务器(具有缓存)。

要求

  • Ansible
  • Ubuntu 20.04 LTS(桌面/服务器)

清单

在您配置资源之前,您必须先配置服务器。将您的清单添加到hosts文件夹中,然后使用以下命令配置服务器或组:

示例

# Provision a server (or group)
ansible-playbook server.yml -e host=<server>

资源

资源playbooks使用资源文件中定义的变量,将您的资源添加到resources文件夹,并在运行playbook时引用该文件。您可以在tests文件夹中找到资源示例。

# Example
ansible-playbook site.yml -e @resources/sites/my-site.yml

可用的资源变量在资源角色defaults文件夹中定义,并在每个任务文件的第一个assert任务中进行验证。

站点

# Provision a site
ansible-playbook site.yml -e @resources/sites/my-site.yml

# Backup a site
ansible-playbook site.yml -e @resources/sites/my-site.yml -t backup

# List site backups
ansible-playbook site.yml -e @resources/sites/my-site.yml -t backup/list

# Restore site backup
ansible-playbook site.yml -e @resources/sites/my-site.yml -t backup/restore

# Destroy site backup
ansible-playbook site.yml -e @resources/sites/my-site.yml -t backup/destroy

# Destroy a site
ansible-playbook site.yml -e @resources/sites/my-site.yml -t destroy

数据库

# Provision a database
ansible-playbook database.yml -e @resources/databases/my-database.yml

# Backup a database
ansible-playbook database.yml -e @resources/databases/my-database.yml -t backup

# List database backups
ansible-playbook database.yml -e @resources/databases/my-database.yml -t backup/list

# Restore database backup
ansible-playbook database.yml -e @resources/databases/my-database.yml -t backup/restore

# Destroy database backup
ansible-playbook database.yml -e @resources/databases/my-database.yml -t backup/destroy

# Destroy a database
ansible-playbook database.yml -e @resources/databases/my-database.yml -t destroy

用户

# Provision a user
ansible-playbook user.yml -e @resources/users/my-user.yml

# Destroy a user
ansible-playbook user.yml -e @resources/users/my-user.yml -t destroy

Web应用

  • 健康检查:https://{{ site_domain }}/-/ping/
  • phpMyAdmin:https://{{ site_domain }}/-/phpmyadmin/
  • Mailhog:https://{{ site_domain }}/-/mailhog/
  • Node Exporter:https://{{ site_domain }}/-/monitor/

文件系统

  • 虚拟主机:/usr/local/openresty/nginx/conf/sites-enabled
  • PHP-FPM池:/etc/php/{{ php_version }}/fpm/pool.d
  • MariaDB数据:/opt/sitepilot/stack/mariadb/data

站点文件

  • 公共路径:/opt/sitepilot/sites/{{ site_name }}/files
  • 日志路径:/opt/sitepilot/sites/{{ site_name }}/logs
  • 缓存路径:/opt/sitepilot/sites/{{ site_name }}/.cache
  • 配置路径:/opt/sitepilot/sites/{{ site_name }}/.config
  • 用户家目录路径:/opt/sitepilot/sites/{{ site_name }}/home

缓存清除

向您要清除的URL发送PURGE请求

# Purge site cache
curl -X PURGE https://{{ site_domain }}/

# Purge a single post
curl -X PURGE https://{{ site_domain }}/hello-world/

作者

这些playbooks由Nick Jansen开发和维护。