Nginx在子文件夹中有多个站点
我想以这样的方式配置Nginx,以便我只需要很少的努力来添加新网站. 我通过以下方式看到这一点:创建新站点时,我将其放在/ var / www下的子文件夹中,在nginx配置文件中添加新位置,该文件只包含所需站点类型的配置模板.它看起来像这样:
但是,不幸的是,这在我的情况下不起作用.问题在于嵌套位置.我在其中一个包含的模板中有以下几行:
Nginx给了我以下错误:
所以我需要为每个站点指定完整路径(比如/ site1 / core /),但是我将无法将其作为一个可重用的段提取出来. 以前,作为替代方案,我使用不同的server_name(site1.locahost,site2.localhost …)和编辑的/ etc / hosts文件配置了多个服务器指令.在这种情况下,只要所有内容都在域的根目录下,我就不需要嵌套位置.但是,正如我所说,我正在寻找一种尽可能简化工作流程的方法,编辑/ etc / hosts在我看来就像我想要避免的额外动作. 所以问题是如何最好地处理这种情况?你如何在本地组织不同网站的工作? 最佳答案 在家里和工作中,我使用Bind9和Nginx的组合来解决这个问题.它确实需要一些设置,但一旦它启动你就不需要再次触摸你的nginx配置文件.我在底部添加了一些限制.建立 设置DNS服务器,(Bind9,dnsmasq) 1)设置本地DNS服务器,并创建一个名为DEV的主机
并重新启动DNS服务器. 设置Nginx 1)在你的nginx.conf或你存储conf.d的东西的任何地方,创建一个看起来或多或少的vHost条目:你可以根据自己的需要调整它.
2)重启nginx服务. 3)利润 设置完成后,要创建新站点,您只需在/ var / www /中创建一个新文件夹即可.
该站点及其下面的PHP可以通过sitename.dev访问. 如前所述,这有一些限制. sitename必须全部为小写,并且不包含空格或特殊字符(包括句点).其次,它实际上只适用于通过index.php引导的站点. 如果您有完全不同的网站结构,您可以修改一些内容,以便为您提供更强大的设置.例如,你可以编写你的配置,使它看起来像这样.
假设你更新你的DNS服务器以响应..dev,那么你可以按如下方式编写我们的目录,只是为了给你一个想法.
就像我之前说的那样,我在家里和15个人一起使用这个设置.我们的工作设置稍微复杂一点(共享服务器,每个人都有自己的主文件夹),但它在那里工作得很好.我个人更喜欢在子域而不是localhost路径上工作. 希望这可以帮助! (编辑:鄂州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- angular – nginx:使用try_files指令禁用单个文件的缓存
- 无法通过非根上下文路径中的kubernetes ingress-nginx获取W
- ruby – 当Unicorn主机完成重启时是否可以发送通知?
- TeamCity,nginx和Websockets – 501错误
- 如何在nginx中使用url pathname作为上游哈希
- Nginx仅在根域时重写
- django – Gunicorn每秒都在创造工人
- google-chrome – 将资源解释为文档,但使用mime类型applica
- PHP配置模块安全注意事项
- OS X Yosemite上的Homestead Laravel 5.1中的通配符动态子域
- python – 使用压缩数据填充memcached,直接从ngi
- ruby-on-rails-capistrano部署后ec2服务器中缺少
- nginx.conf忽略nginx-ingress配置映射片段
- python – Django,uwsgi和nginx – 内部服务器错
- asp.net – 如何配置nginx以支持cloudflare下的s
- django-与gunicorn nginx长期运行的请求
- node.js – socket.io nginx配置WebSocket握手期
- 缓存-Nginx:向fastcgi_cache响应添加条件到期标
- 启用了nginx gzip但不是gzipping
- NGINX:重写时删除查询字符串