我正在尝试配置一个运行 Amazon Linux 和 nginx 的 Amazon EC2 实例,以便在 node.js 中提供两个不同的幽灵博客。
我的理解是,网络流量到达 ec2 实例的公共 IP,nginx 正在监听端口 80,并且 nginx 的配置文件将每个域反向代理到每个博客的 index.js 文件正在监听的端口。
我在生产环境中使用 forever 运行两个 index.js 文件,但当我同时启动这两个文件时,两个域 (domain1.com 和 domain2.com) 显示的内容相同。似乎启动第二个 index.js 会覆盖/重定向流量到单个幽灵博客。
也许某些配置可能会有帮助:
主文件夹
ls ~
domain2.com node domain1.com
domain1.com 的 Config.js
cat ~/domain1.com/config.js
production: {
url: 'http://www.domain1.com/',
mail: {},
database: {
client: 'sqlite3',
connection: {
filename: path.join(__dirname, '/content/data/ghost.db')
},
debug: false
},
server: {
host: '127.0.0.1',
port: '2368'
}
},
domain2.com 的 Config.js
cat ~/domain2.com/config.js
production: {
url: 'http://domain2.com/',
mail: {},
database: {
client: 'sqlite3',
connection: {
filename: path.join(__dirname, '/content/data/ghost.db')
},
debug: false
},
server: {
host: '127.0.0.1',
port: '2369'
}
}
主 nginx 配置
cat /etc/nginx/nginx.conf
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name domain1.com *.domain1.com;
root /var/www/html;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_pass http://127.0.0.1:2368;
}
nginx conf.d 文件夹
ls /etc/nginx/conf.d/
domain2.com.conf virtual.conf
nginx domain2.com 配置
cat /etc/nginx/conf.d/domain2.com.conf
server {
listen 80;
listen [::]:80;
server_name domain2.com *.domain2.com;
root /var/www/html;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_pass http://127.0.0.1:2369;
}
}
我如何开始写幽灵博客
cd ~/domain2.com/
NODE_ENV=production forever start index.js
cd ~/domain1.com/
NODE_ENV=production forever start index.js
抱歉,第一篇帖子太长了。提前感谢您的帮助。