我想为我的应用设置子域名。
例如:
myapp.com
admin.myapp.com
static.myapp.com
目录结构如下:
myapp
frontend [sails app] -> myapp.com
backend [sails app] -> admin.myapp.com
static [express app] -> static.myapp.com
app.js
在快递中,我可以使用vhost 我怎样才能在sails.js中实现这个目标?
答案 0 :(得分:1)
我没有尝试过,但我认为可以使用Nginx的反向代理来完成。
假设您有2个SailsJS项目(Sails1和Sails2)配置为分别在两个不同的端口(端口1337和端口1338)上运行。您可以通过在/config/locals.js中进行更改来配置SailsJS应用程序在任何端口上运行
现在按照以下步骤操作:
$ cd / etc / nginx / sites-available /
$ sudo touch sails1.conf
$ sudo touch sails2.conf
$ sudo ln -s /etc/nginx/sites-available/sails1.conf /etc/nginx/sites-enabled/sails1.com.conf
$ sudo ln -s /etc/nginx/sites-available/sails2.conf /etc/nginx/sites-enabled/sails2.conf
将以下内容放在/etc/nginx/sites-available/sails1.conf
中server {
listen 80;
server_name sails1.com;
location / {
proxy_pass http://localhost:1337;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
将以下内容放在/etc/nginx/sites-available/sails2.conf
中server {
listen 80;
server_name sails2.com;
location / {
proxy_pass http://localhost:1338;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
重新启动Nginx并尝试访问sails.com和sails2.com,希望您能够看到您的网站。
答案 1 :(得分:0)
我没有直接使用vhosts和sails,但你可以很容易地访问底层的快速引擎..
//./config/express.js
module.exports.express = {
customMiddleware: function (app) {
app.use(vhost('*.example.com', require('app1'));
app.use(vhost('example.com', function(..){...}));
app.use('/queue', require('kue').app);
}
}