nginx和网站上的多个网站可用
通过nginx的基本安装,您的sites-available
文件夹只有一个文件: default
sites-available
文件夹是如何工作的?我将如何使用它来托pipe多个(单独的)网站?
只是添加另一种方法,您可以为每个虚拟域名或网站使用一个单独的文件。 您可以使用默认的副本作为每个站点的起点,并为每个站点进行自定义。
然后在已启用站点的位置创build符号链接。 通过这种方式,您可以通过添加或删除符号链接并发出服务nginx重新加载来上下网站。
您可以变得富有创造性,并在进行网站维护时使用此方法将网站redirect到维护模式页面。
所以结构如下所示:
/sites-available/ (you can use obvious file names like this) | |-> a.mysite.com |-> b.mysite.com |-> someOtherSite.com /sites-enabled/ (these are just symlinks to the real files in /sites-available) | |-> a.mysite.com |-> b.mysite.com
请注意,由于只有前两个条目是sites-enabled
了sites-enabled
的唯一符号链接项,因此第三个条目someOtherSite.com
因此处于脱机状态。
如果您查看nginx.conf
,您会发现include
来自sites-enabled
了sites-enabled
目录中的所有文件的include
指令。 该目录存储符号链接,以便从sites-available
configuration文件sites-available
,以便方便地打开和closures部分configuration。
正如你所看到的,这些目录没有什么魔力。
如果您想要托pipe多个网站,则应使用多个server
块和/或server_name
指令。 官方教程在这里: 服务器名称和nginx如何处理请求 。
您将可用站点的默认文件链接到启用的站点。 然后,修改可用站点以包含两个服务器块,每个服务器块使用不同的server_name。 请参阅以下内容。 这假设你必须有名为example.com和example2.com的域名。 你也可以把你的@records指向你安装了nginx的服务器的ip地址。
将可用网站符号链接到启用的网站
sudo ln -s /etc/nginx/sites-available/default /etc/nginx/sites-enabled/default
编辑文件使用您select的编辑器(vim为我)
sudo vi /etc/nginx/sites-available/default
假设你在端口4567和4568上运行web应用程序,这里是工作nginx conf的内容。
server { server_name www.example.com location / { proxy_pass http://localhost:4567/; } } server { server_name www.example2.com location { proxy_pass http://localhost:4568/; } }