好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > Nginx定義域名訪問方式

Nginx定義域名訪問方式

熱門標簽:地圖標注需要現場嗎 工廠位置地圖標注 地圖標注企業名稱侵權案件 企業400電話辦理哪正規 400電話辦理哪家好廠商 繽客網注冊時地圖標注出不來 重慶營銷外呼系統排名 網站上插入地圖標注內容 鶴壁電銷外呼系統怎么安裝

最近在搭建Nginx,做到域名訪問的時候總是訪問不了。

nginx的配置文件nginx.conf中server配置如下:

 server {
  listen  80;
  server_name hehe.weige.com;
  #charset koi8-r;
  #access_log logs/host.access.log main;
location / {
   root html-hehe;
   index index.html index.htm;
  }
}

配置完之后 在sbin 目錄下執行命令 ./nginx -s reload 重新加載配置文件

加載之后瀏覽器地址欄輸入hehe.weige.com 一直訪問不了

就這個問題困擾了大半天。

搜索了好多大神的博客,配置沒有任何問題。后面終于自己想到了。在這里強調兩個最基礎最簡單的問題

1 同一個域名只能對應一個IP,同一個IP可以對應多個域名

2 當訪問網站是系統會先去你本地的hosts(C:\windows\system32\drivers\etc)文件中查找,如果存在該域名就會訪問該域名對應的IP,

如果不存在才會去互聯網尋找。

重點看第二點,我本地的hosts文件根本就沒有配置www.weige.com這個域名,于是去互聯網查找。而這個域名是我自定義的,互聯網肯定是查不到的。所以訪問失敗

出現了第一張圖的情況。各位大神的博客都沒有強調這個問題,是他們疏忽了還是我基礎太爛了呢???? 哎!不抱怨了。配置完hosts之后如下圖

然后重啟電腦(不重啟電腦我不知道有沒有辦法做到,如果讀者有辦法麻煩給分享一下,謝謝!)

再次在瀏覽器輸入hehe.weige.com 訪問成功。

補充知識:Nginx 指定域名(或子域名)和網站綁定

問題起因

博主最近在 CentOS 上面部署另外一個網站,但并不想通過端口號來訪問,因為端口號對于 SEO 優化不利,且用戶訪問較繁瑣(使用域名不就是為了方便用戶訪問嗎?再引入端口號豈不是和使用域名的目的相悖嗎?),因此想在 CentOS 的 80 端口上同時運行兩個網站,nginx 通過請求的域名來返回相應的根目錄下的網站,達到 80 端口復用,同時運行多個網站的目的。

實現步驟

為方便您檢查路徑,本文在需要對路徑進行要求時,專門使用 pwd 命令打印出博主當前步驟所在路徑,便于您檢查。

檢查 nginx 配置文件路徑(重要)

注意:這一步非常關鍵,如果修改了錯誤的 nginx 配置文件,將導致所有修改均無效,甚至會讓您在探索了數個小時后仍無法得知修改無效的原因是什么。

使用命令

$ nginx -V

來查看 nginx 的一些配置信息,如下(您的和博主的顯示內容可能不同,不影響):

nginx version: nginx/1.12.2
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC)
built with OpenSSL 1.0.2k-fips 26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/usr/share/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --http-client-body-temp-path=/var/lib/nginx/tmp/client_body --http-proxy-temp-path=/var/lib/nginx/tmp/proxy --http-fastcgi-temp-path=/var/lib/nginx/tmp/fastcgi --http-uwsgi-temp-path=/var/lib/nginx/tmp/uwsgi --http-scgi-temp-path=/var/lib/nginx/tmp/scgi --pid-path=/run/nginx.pid --lock-path=/run/lock/subsys/nginx --user=nginx --group=nginx --with-file-aio --with-ipv6 --with-http_auth_request_module --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module=dynamic --with-http_image_filter_module=dynamic --with-http_geoip_module=dynamic --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_stub_status_module --with-http_perl_module=dynamic --with-mail=dynamic --with-mail_ssl_module --with-pcre --with-pcre-jit --with-stream=dynamic --with-stream_ssl_module --with-google_perftools_module --with-debug --with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic' --with-ld-opt='-Wl,-z,relro -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -Wl,-E'

其中只需要關注到 --conf-path=/etc/nginx/nginx.conf 這個條目,這個條目指明了當前 nginx 的程序使用的默認配置文件。

新建一個站點配置文件

根據上面的配置文件路徑,首先切換目錄到 nginx 的配置路徑下:

$ cd /etc/nginx

然后新建一個站點配置文件,建議放置在 nginx 配置目錄下的 vhost 目錄內,如果您當前沒有此目錄,可新建一個:

$ pwd
/etc/nginx
$ sudo mkdir vhost
$ ls
conf.d    fastcgi_params   mime.types   scgi_params   vhost
default.d    fastcgi_params.default mime.types.default scgi_params.default win-utf
fastcgi.conf   koi-utf     nginx.conf   uwsgi_params
fastcgi.conf.default koi-win     nginx.conf.default uwsgi_params.default

注意:/etc 是系統目錄,一般用戶不具有修改權限,需要使用 sudo 以管理員權限在該目錄中進行修改,如創建、修改文件,創建文件夾等操作。

進入剛剛創建的 vhost 目錄,新建一個配置文件,例如 mysite.conf,該配置文件文件名無限制,最好是你的網站名稱之類的,便于辨認,但一定是以 .conf 為后綴。

$ pwd
/etc/nginx
$ cd vhost/
$ pwd
/etc/nginx/vhost
$ sudo touch mysite.conf
$ ls
mysite.conf trans.conf

其中,touch 命令創建了一個名為 mysite.conf 的配置文件(空文件),是本文中要介紹的配置文件,另一個是博主正在運行的網站,無需在意。

修改網站配置文件信息

本文中將建立一個名為 mysite 的網站,網站根目錄為 /home/www/mysite,網站綁定域名 mysite.jinhangdev.cn。

使用任意文字編輯器打開 mysite.conf,輸入如下內容并保存(注意需管理員權限):

server {
  listen  80;  # 網站的端口一般為 80,可以與其他網站一起使用該端口
  server_name mysite.jinhangdev.cn; # 要綁定的域名(或子域名)
  root   /home/www/mysite; # 該網站的根目錄
  location / {  # 不用管
  }
}

以上內容為一個 server 的內容,下面講 nginx.conf 配置的時候會再區分把一行配置寫在 server 或寫在 server 外的區別。

$ pwd
/etc/nginx/vhost
$ ls
mysite.conf trans.conf
$ sudo vim mysite.conf
$ cat mysite.conf
server {
  listen 80;
  server_name mysite.jinhangdev.cn;
  root /home/www/mysite;
  location /{
  }
}

上面我們已經新建好了一個網站,該網站使用服務器的 80 端口,綁定的域名為 mysite.jinhangdev.cn,網站根目錄使用 /home/www/mysite。

修改 nginx 配置文件

下面對關鍵文件 nginx.conf 進行配置,建議在修改前先備份,養成好的習慣:

$ pwd
/etc/nginx
$ sudo cp nginx.conf nginx.conf.bak

將原有配置存儲到 nginx.conf.bak 后,繼續下面操作,若后面發現修改出錯,可將 nginx.conf.bak 改名回 nginx.conf 使用。

以超級用戶權限使用文本編輯器打開 nginx.conf:

$ sudo vim nginx.conf

并進行編輯。

Nginx 配置文件的結構

我們這里只介紹和配置域名綁定相關的部分結構,即 http 小節:

http {
 (各種配置)
}

設置在此處的配置都是 http 的全局配置,如果要對某個網站單獨配置,則需要對每個 server 分別設置:

http {
 (此處的配置是全局的配置參數)
 server {
 (此處的配置是本 server 的配置參數)
 }
 server {
 (此處的配置是本 server 的配置參數)
 }
 (此處的配置是全局的配置參數)
}

但是我們并不提倡把所有 server 都展開寫在 nginx.conf 中,因此我們使用一句 include 語句,把 vhost 下所有網站的配置都引用進來。注意:include 命令只是簡單地進行文本替換。

于是我們在 nginx.conf 的 http 節內部的末尾寫上一句:

http {
 (前面的若干配置)
 include /etc/nginx/vhost/*.conf;
}

這樣一來,vhost 下的所有 .conf 文件均被文本替換式地引入到 nginx.conf 里面了。

重啟 nginx 服務

使用命令:

$ sudo service nginx restart
Redirecting to /bin/systemctl restart nginx.service

重啟 nginx 服務。

出現問題:重啟服務報錯

此時可使用命令:

$ sudo service nginx status -l

來查看報錯信息和錯誤日志。輸入此命令后,日志不會馬上顯示出來,稍等幾秒會顯示出來,-l 選項使得每條日志能夠完整顯示在屏幕上,否則當一條日志過長時,中間的文本將被 ... 替代。

若出現問題,十有八九日志都會說是載入 nginx.conf 出錯,這多半是因為您在 nginx.conf 或 mysite.conf 中有錯誤的配置。

訪問新網站

為新的二級域名添加 DNS 解析后,在瀏覽器中訪問 mysite.jinhangdev.cn,正常情況下會報 404 Not found 的錯誤,這是因為本文到目前為止還沒有去創建這個新網站的根目錄,出現 404 錯誤反而說明前面的配置是正確的,所以下一步我們將創建一個簡單的網頁運行起來。

建立新網站的根目錄(或使用已有目錄)

博主習慣將網站的文件放在 /home/www 下,并給該目錄 0777 權限,以免出現 403 錯誤,雖然這樣不太安全。鑒于博主水平有限,希望有安全需求的讀者關注其他安全大牛的文章,博主深表歉意。

在 /home/www 下建立目錄 mysite(/home/www 目錄已經被博主創建好,并使用 chmod 命令賦予其 0777 權限):

$ cd /home/www/
$ mkdir mysite
$ ls
mysite trans

切換到 mysite 目錄下,簡單創建一個網頁:

$ pwd
/home/www
$ cd mysite/
$ echo hello! > index.html
$ ls
index.html
$ cat index.html
hello!

此時在瀏覽器中重新訪問,即可看到一行 hello! 了,表示新網站創建成功。

結語

以上便是一個新網站的域名綁定的創建過程,若有您不明白或博主的錯誤之處,歡迎在評論區指正,感激不盡!希望能給大家一個參考,也希望大家多多支持腳本之家。

標簽:渭南 克拉瑪依 日照 常州 96 鹽城 棗莊 東莞

巨人網絡通訊聲明:本文標題《Nginx定義域名訪問方式》,本文關鍵詞  Nginx,定義,域名,訪問,方式,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Nginx定義域名訪問方式》相關的同類信息!
  • 本頁收集關于Nginx定義域名訪問方式的相關信息資訊供網民參考!
  • 推薦文章