我的vps掛了三個服務, 分別是:
#wordpress搭建的博客服務, 運行於8000端口, 訪問方式http ://fangyuanxiaozhan.com:8000
gogs搭建的git服務, 運行於10080埠, 訪問方式http://fangyuanxiaozhan.com:10080
nextcloud搭建的網站服務, 運行於8080埠, 訪問方式http://fangyuanxiaozhan.com:10080
我的需求:
1.造訪部落格服務時, 直接輸入http://fangyuanxiaozhan.com
造訪git服務時,直接輸入http://git.fangyuanxiaozhan.com
造訪網盤服務時, 直接輸入http://cloud.fangyuanxiaozhan.com
#實現的方法
1、到託管網域的網站, 添加dns解析, 我的網域fangyuanxiaozhan.com 託管在阿里雲, 我的做法是登入https://dns.console.aliyun.com /#/dns/domainlist , 新增二級記錄
2、我使用的是centos7, nginx設定檔的預設位置為 /etc/nginx/nginx .conf
, 有趣的是, /etc/nginx/nginx.conf
內引入了配置文件夾 /etc/nginx/conf.d
, 也就是我們可以把 /etc/nginx/nginx.conf
中的一些預設設定註解掉, 直接在資料夾 /etc/nginx/conf.d
中設定多個獨立的設定檔.
/etc/nginx/nginx.conf
的設定
# for more information on configuration, see: # * official english documentation: http://nginx.org/en/docs/ # * official russian documentation: http://nginx.org/ru/docs/ user nginx; worker_processes auto; error_log /var/log/nginx/error.log; pid /run/nginx.pid; # load dynamic modules. see /usr/share/nginx/readme.dynamic. include /usr/share/nginx/modules/*.conf; events { worker_connections 1024; } http { log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; include /etc/nginx/mime.types; default_type application/octet-stream; include /etc/nginx/conf.d/*.conf; }
注意上述設定檔的最後一行, include /etc/ nginx/conf.d/*.conf;
保證了 /etc/nginx/conf.d/
下,所有以.conf結尾的設定檔, 都會被主設定檔 nginx .conf
引入並生效
在 /etc/nginx/conf.d/
下方需要新建三個檔案
blog.conf (實作8000埠映射到80埠, 不使用二級網域)
server { listen 80; server_name fangyuanxiaozhan.com; location / { proxy_set_header x-real-ip $remote_addr; proxy_set_header host $http_host; proxy_pass http://0.0.0.0:8000; } }
blog.conf實作了fangyuanxiaozhan.com:8000對應到fangyuanxiaozhan.com
#git.conf (實現10080埠映射到80埠, 使用二級網域 git
)
server { listen 80; server_name git.fangyuanxiaozhan.com; location / { proxy_set_header x-real-ip $remote_addr; proxy_set_header host $http_host; proxy_pass http://0.0.0.0:10080; } }
git.conf實作了fangyuanxiaozhan.com:10080對應到git.fangyuanxiaozhan.com
# #nc.conf (實作10080埠對應到80埠, 使用二級網域 cloud
)
server { listen 80; server_name cloud.fangyuanxiaozhan.com; location / { proxy_set_header x-real-ip $remote_addr; proxy_set_header host $http_host; proxy_pass http://0.0.0.0:8080; } }
git.conf實作了fangyuanxiaozhan.com:8080對應到cloud.fangyuanxiaozhan.com
重啟nginx讓設定生效
#關閉nginx
sudo $(which nginx) -s stop
開啟nginx
sudo $(which nginx)
效果顯示
#
#
以上是nginx怎麼配置二級域名的詳細內容。更多資訊請關注PHP中文網其他相關文章!