nginx配置二級域名的示例代碼
為了不讓域名fangyuanxiaozhan.com閑置, 作者又買了個國內(nèi)的虛擬主機(VPS)的ip為 111.230.254.173
, 用wordpress開了個博客網(wǎng)站, 由于vps的空間很大, 我就開了個私有網(wǎng)盤服務, 由于日常開發(fā)需要用到git, 但又不想公開代碼, 我又開了個私有g(shù)it服務
我的vps掛了三個服務, 分別是:
- WordPress搭建的博客服務, 運行于8000端口, 訪問方式 http://fangyuanxiaozhan.com:8000
- Gogs搭建的git服務, 運行于10080端口, 訪問方式 http://fangyuanxiaozhan.com:10080
- Nextcloud搭建的網(wǎng)盤服務, 運行于8080端口, 訪問方式 http://fangyuanxiaozhan.com:10080
我的需求:
- 1.訪問博客服務時, 直接輸入 http://fangyuanxiaozhan.com
- 訪問git服務時, 直接輸入 http://git.fangyuanxiaozhan.com
- 訪問網(wǎng)盤服務時, 直接輸入 http://cloud.fangyuanxiaozhan.com
實現(xiàn)的方法
1、到托管域名的網(wǎng)站, 添加DNS解析, 我的域名 fangyuanxiaozhan.com 托管在阿里云, 我的做法是登錄 https://dns.console.aliyun.com/#/dns/domainList , 添加二級記錄
2、我使用的是centos7, nginx配置文件的默認位置為 /etc/nginx/nginx.conf
, 有意思的是, /etc/nginx/nginx.conf
內(nèi)引入了 配置文件夾 /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結(jié)尾的配置文件, 都會被主配置文件 nginx.conf
引入并生效
在 /etc/nginx/conf.d/
下面需要新建三個文件
blog.conf (實現(xiàn)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實現(xiàn)了fangyuanxiaozhan.com:8000映射到 fangyuanxiaozhan.com
git.conf (實現(xiàn)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實現(xiàn)了fangyuanxiaozhan.com:10080映射到 git.fangyuanxiaozhan.com
nc.conf (實現(xiàn)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實現(xiàn)了fangyuanxiaozhan.com:8080映射到 cloud.fangyuanxiaozhan.com
重啟nginx使配置生效
關(guān)閉nginx
sudo $(which nginx) -s stop
開啟nginx
sudo $(which nginx)
效果展示
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Centos7安裝、卸載nginx及配置,配置成系統(tǒng)服務方式(一步到位)
這篇文章主要介紹了Centos7安裝、卸載nginx及配置,配置成系統(tǒng)服務方式(一步到位),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-12-12nginx could not build the server_names_hash 解決方法
服務器名字的hash表是由指令 server_names_hash_max_size 和 server_names_hash_bucket_size所控制的。2011-03-03結(jié)合 Nginx 將 DoNetCore 部署到 阿里云的安裝配置方法
這篇文章主要介紹了結(jié)合 Nginx 將 DoNetCore 部署到 阿里云的方法 ,需要的朋友可以參考下2018-10-10