nginx - 如何使用 Nginx 在同一个 VPS 上托管多个网站
问题描述
我在 Debian 11(我的笔记本电脑上的本地 VBox)上构建了两个简单的 Django webapps。
我创建了两个文件夹:
/var/www/html/WebApp1
/var/www/html/WebApp2
我还根据本教程配置了 Nginx 并创建了两个不同的服务 WebApp1 和 2.service 和 .sock :
这是我的每个应用程序的 nginx 文件(它们单独工作)
server {
listen 80;
server_name webapp1.net;
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /var/www/html/WebApp1;
}
location / {
include proxy_params;
proxy_pass http://unix:/run/gunicorn.sock;
}
}
server {
listen 80;
server_name webapp2.net;
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /var/www/html/WebApp2;
}
location / {
include proxy_params;
proxy_pass http://unix:/run/gunicorn.sock;
}
}
由于我的 Vbox 本地 IP 是 192.168.1.24,然后我在 VBox 和 Windows 10 上更改了我的本地 DNS 文件,以便我可以在我的真实 Windows 机器中访问 WebApp1 和 2。
实际上 :
http://webapp1.net http://webapp2.net
不起作用(我在 VBox 和 Windows 下都从 Nginx 收到 502 bad gateway 错误)
此致
编辑 :
我从一开始就重新启动了一切,现在它可以工作了。
192.168.1.24 是我本地网络上的 VBox IP 地址,您只需修改 C:\Windows\System32\drivers\etc\hosts 文件即可将 IP 地址与您的虚拟域名匹配
解决方案
推荐阅读
- javascript - Mongoose,在值上创建随机字符串的正确方法
- python - 谷歌 OAuth 2.0
尽管已登录 - node.js - 节点 sendmail opendkim mail.private 权限被拒绝
- reactjs - Formik 可翻译输入
- java - 如何通过在android studio中单击按钮来更改键盘输入语言
- node.js - 需要身份验证的 swagger-ui-express API 文档示例
- laravel - 路由:一个 uri,两个控制器。拉拉维尔 8
- javascript - JavaScript中二维数组的“无法设置未定义的属性'4'”
- jestjs - 使用 Jest 测试 Svelte 应用程序时 Lodash 未定义
- c# - 将要使用的代码更改为存储过程时,Razor Pages 无法隐式转换类型