我有 nginx.conf 文件,它有几个服务器块,每个块用于一个子域。
我正在阅读可用和启用网站的概念。并且可用文件夹可以包含多个文件,并且可以使用命令启用站点,该站点将文件复制到启用的目录中。
我想要的是 - nginx config 如何读取站点启用目录中的文件?在 nginx.conf 中,我看不到对该路径的任何引用,那么 nginx 如何链接到启用站点的目录?
我从注册商 (godaddy) 购买了一个域 - 例如 mycompany.com
当在浏览器中输入此 url 时,浏览器会将请求定向到配置的 IP 地址(这是我公司内部部署的 nginx 反向代理服务器)。
我们为希望通过 url 导出的各个部门开发了几个 api。有2个选项:
mycompany.com/api/departmentA, mycompany.com/api/departmentB, ...
api.departmentA.mycompany.com、api.depoartmentB.mycompany.com
我知道第一个选项不需要在注册商(godaddy)或服务器(nginx)上进行任何更改。
假设我选择了第二个选项,那么我知道我需要对 nginx 配置进行更改,以便 - 根据 url,请求将由 nginx 定向到适当的服务器。这个问题是要问 - 域注册商(godaddy)是否需要任何配置才能允许子域路由到与域配置的服务器相同的服务器?例如,我是否需要为每个子域添加 CNAME 记录?还是godaddy会自动将任何子域重定向到域的IP?
我正在尝试在运行 Debian(不是 Nginx Bitnami 包)的 Amazon Lightsail VPS 上设置 nginx 安装。我在这方面有点新手。我完全对正在发生的事情感到困惑。
ls -l /etc/nginx/sites-enabled
:lrwxrwxrwx 1 root root 39 Jul 27 16:39 静态 -> /etc/nginx/sites-available/static
/etc/nginx/sites-available/static
:服务器 { 听 80; 听 [::]:80; server_name '域名' www.'域名' www1.'域名' '服务器的IP地址' 根 /var/www/static 索引 index.html; 地点 / { 索引 index.html; try_files $uri $uri/ =404; } }
在上面,DOMAIN_NAME
和IP ADDRESS
是真实文本的占位符。
的输出nginx -T
显示 的内容之后static
显示的内容/etc/nginx/nginx.conf
。此输出中没有任何server-name
行,除了static
.
/var/log/nginx/access.log
当我输入主域名而不是子域名时显示访问。在任何情况下,无论我输入子域还是只输入主域,都会显示欢迎页面。
更令人费解的是,欢迎页面似乎位于/var/www/html/index.html
. 所以我也修改了那个文件作为测试。但是修改后的版本也没有显示。
我无计可施。我做错了什么?
我是一个相当狂热的程序员,但最近转向网络开发,所以如果这个问题有点愚蠢,我深表歉意。
我正在构建一个应该支持多个域的电子商务 webApp。假设我有 2 个商店在我的应用程序中运行,每个商店都有自己的自定义域。
应用程序位于:www.main-app.com
商店 1 位于:www.store1.com
商店 2 位于:www.store2.com
我需要将所有请求重定向store1.com
到store2.com
传递main-app.com
一个 id,即商店 ID。商店 ID 用于加载每个商店的所有组件。
我已经设法将 CNAME 记录添加到 store1 和 store2 指向www.main-app.com
. 到目前为止一切顺利,当我www.store1.com
在浏览器中键入时,主应用程序会显示在屏幕上,但是我如何传递商店 ID 以便它知道要加载哪个商店?
哪种方法是使此功能成为可能的最佳方法?
本质上,我想输入www.store1.com
并www.main-app.com
接收加载 store1 的请求。我不想使用域转发,比如打字www.store1.com
,它会将用户重定向到类似www.main-app.com?storeId=1
.
我希望我说清楚了。