我已经完成了之前的研究,但似乎找不到如何正确配置 nginx 以接受子域。
我目前为 mydomain.com 正确配置了它,但没有为 analytix.mydomain.com 配置:
server {
listen 80;
server_name *.mydomain.com;
access_log /home/ubuntu/virtualenv/mydomain/error/access.log;
error_log /home/ubuntu/virtualenv/mydomain/error/error.log warn;
connection_pool_size 2048;
fastcgi_buffer_size 4K;
fastcgi_buffers 64 4k;
root /home/ubuntu/virtualenv/mydomain/homelaunch/;
location /static/ {
alias /home/ubuntu/virtualenv/mydomain/homelaunch/static/;
}
location / {
proxy_pass http://127.0.0.1:8001;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
add_header P3P 'CP="ALL DSP COR PSAa PSDa OUR NOR ONL UNI COM NAV"';
}
}
server_name
声明正在接受<anythinghere>.mydomain.com
这很好。如果我访问
analytix.mydomain.com
,它会抛出一个 Http 500 默认值,这很好,因为它会从位于 mydomain.com
的现有应用程序中抛出它该域已经传播到我试图访问它的这台服务器。
如何在路径上指定一个文件夹来存放
analytix.mydomain.com
的内容?我假设我需要更改 nginx conf 中的属性(如上所示)
最佳答案
新建server
设置 server_name
的 block 到所需的域。 nginx正常的目录和文件结构如下:
/etc/nginx
|
|---- /sites-available
| |
| |---- default.conf
|
|---- /sites-enabled
|
|---- default.conf -> ../sites-available/default.conf
您必须在
sites-available
中创建一个新文件使用新的 server
为您的子域阻止它并在 sites-enabled
中创建指向此新文件的符号链接(symbolic link).一个简单的 nginx 重新加载将启动您的新服务器。您的新文件结构如下所示:
/etc/nginx
|
|---- /sites-available
| |
| |---- analytix.conf
| |
| |---- default.conf
|
|---- /sites-enabled
|
|---- analytix.conf -> ../sites-available/analytix.conf
|
|---- default.conf -> ../sites-available/default.conf
以下是直接在您的服务器上快速执行此操作的命令:
# cd /etc/nginx/sites-available
# cat default.conf > analytix.conf
# editor analytix.conf
换行
server_name *.mydomain.com;
至server_name analytix.mydomain.com
.# ln -s analytix.conf ../sites-enabled/
# nginx -t
只有当它说您的配置没问题(应该是这样)时才继续。
# service nginx restart
就是这样(请注意,以上所有命令都适用于基于 Debian 的发行版,如果您使用其他命令,某些命令可能会有所不同)。
为了在您的服务器上提供不同软件的内容,您必须更改
root
配置中的指令并将其指向其他软件的文档根目录。# editor analytix.conf
更改
root /home/ubuntu/virtualenv/mydomain/homelaunch/;
至root /path/to/other/software;
并重新加载你的 nginx。# nginx -t && service nginx reload
就是这样,您的新应用程序现在应该可以使用了。
关于configuration - 使用子域配置 Nginx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20100869/