nginx根据域名跳转到不同的服务器
穷苦搬砖一族好不容易买了一台服务器准备一机多用 (如果是多台服务器将反向代理的地址填成其他服务器的ip地址就好)
配置文件超级简单我会都写在注释里,因为我也是刚刚学习配置的很是繁琐,我想应该可以简化代码但是我还没有查到如果有知道的大神麻烦告诉小弟,小弟感激不尽。博客地址
直接上配置文件
user www - data;
worker_processes auto;
pid / usr / local / nginx / logs / nginx.pid;
include / etc / nginx / modules - enabled
/*.conf;
events {
worker_connections 768;
# multi_accept on;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
##server作用 内部创建服务器 监听端口
server {
##server监听的端口号
listen 80;
##服务name 域名配置 配置域名
server_name www.handao.xyz;
#charset koi8-r;
#location / {
# proxy_pass http://127.0.0.1:8091;
#}
##将http转发到https
rewrite ^(.*)$ https://$host$1 permanent;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
##server监听的端口号
listen 80;
##服务name 域名配置 配置域名
server_name blog.manong.info;
#charset koi8-r;
rewrite ^(.*)$ https://$host$1 permanent;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
# HTTPS server
server {
listen 443 ssl;
server_name www.handao.xyz;
ssl_certificate /home/ubuntu/ssl/handaoxyz/fullchain.crt;
ssl_certificate_key /home/ubuntu/ssl/handaoxyz/private.pem;
ssl_protocols TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
##这个链接是我个人主页的一个链接是一个H5页面
location / {
#proxy_pass http://127.0.0.1:8091;
##拦截后 跳转根目录 资源目录文件 html文件
root /home/handao001/personalnavigation;
##默认首页index.html
index index.html index.htm;
}
}
server {
##这部分是https的配置 我感觉这个地方不用记住 知道有这么个东西就行 应为当你申请证书时候都会有配置教程
listen 443 ssl;
server_name blog.manong.info;
ssl_certificate /home/ubuntu/ssl/fullchain.crt;
ssl_certificate_key /home/ubuntu/ssl/private.pem;
ssl_protocols TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
location / {
proxy_pass http://127.0.0.1:8091;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
##server监听的端口号
listen 80;
##服务name 域名配置 配置域名 这个域名我将它做成一个今天资源的一个路径 放一些图片之类的东西
server_name static.manong.info;
#charset koi8-r;
#location / {
# proxy_pass http://127.0.0.1:8091;
#}
rewrite ^(.*)$ https://$host$1 permanent;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 443 ssl;
server_name static.manong.info;
ssl_certificate /home/ubuntu/ssl/fullchain.crt;
ssl_certificate_key /home/ubuntu/ssl/private.pem;
ssl_protocols TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
##这里是存放图片的路径
location / {
root /home/ubuntu/static;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
这就是一台服务器监听不同的端口,纯属刚学习 有比较好的方法 同行们都可以联系我 QQ252279481