前端使用webpack
打包并传到阿里云OSS,然后我想用一个域名来绑定打包后的项目
想把nginx
一些配置,比如域名绑定
放在前端提交给node,然后使用node来动态更改nginx
配置,达到域名动态绑定的效果。
这个应该如何做呢?
大佬在哪里。。。。。。。😢😢😢😢😢
前端使用webpack
打包并传到阿里云OSS,然后我想用一个域名来绑定打包后的项目
想把nginx
一些配置,比如域名绑定
放在前端提交给node,然后使用node来动态更改nginx
配置,达到域名动态绑定的效果。
这个应该如何做呢?
大佬在哪里。。。。。。。😢😢😢😢😢
用ejs
作为模板,做过nginx图形化配置,部分代码/思路可以参考一下:
# name <%= name %>
worker_processes <%= worker_processes %>;
events {
worker_connections <%= worker_connections %>;
}
http {
include mime.types;
default_type application/octet-stream;
access_log logs/access.log main;
sendfile on;
keepalive_timeout 65;
gzip on;
<% servers.forEach(server => { %>
server {
listen <%= server.port %>;
server_name <%= server.server_name %>;
<% server.locations.forEach(location => { %>
location <%= location.path %> {
<% for ( let key in location.options ) { %>
<%= key %> <%= location.options[key] %>;
<% } %>
}
<% }) %>
}
<% }) %>
<% upstreams.forEach(upstream => { %>
upstream <%= upstream.name %> {
<% upstream.servers.forEach(server => { %>
server <%= server %>;
<% }) %>
}
<% }) %>
}
router.get('/config', function (req, res, next) {
res.set('Content-Type', 'text/plain');
res.render('template', {
name: 'FrontServer',
worker_processes: 1,
worker_connections: 1024,
servers: [{
server_name: 'login.com',
port: 80,
locations: [{
path: '/',
options: {
root: '/www',
}
}, {
path: '/rest',
options: {
proxy_pass: 'http://backend1',
}
}]
}],
upstreams: [{
name: 'backend1',
servers: [
'10.0.0.21:8080 weight=1',
'10.0.0.22:8080 weight=1',
]
}, {
name: 'backend2',
servers: [
'10.0.0.23:8080 weight=1',
'10.0.0.24:8080 weight=0',
]
}],
})
});
# name FrontServer
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
access_log logs/access.log main;
sendfile on;
keepalive_timeout 65;
gzip on;
server {
listen 80;
server_name login.com;
location / {
root /www;
}
location /rest {
proxy_pass http://backend1;
}
}
upstream backend1 {
server 10.0.0.21:8080 weight=1;
server 10.0.0.22:8080 weight=1;
}
upstream backend2 {
server 10.0.0.23:8080 weight=1;
server 10.0.0.24:8080 weight=0;
}
}
15 回答8.4k 阅读
7 回答5.3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答4k 阅读
4 回答2.5k 阅读✓ 已解决
2 回答2.4k 阅读✓ 已解决
2 回答1.7k 阅读✓ 已解决
node读取nginx.conf,进行修改,修改好后,使用exec执行命令,重启nginx