濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > Nginx定義域名訪問方式

Nginx定義域名訪問方式

熱門標(biāo)簽:地圖標(biāo)注需要現(xiàn)場(chǎng)嗎 工廠位置地圖標(biāo)注 地圖標(biāo)注企業(yè)名稱侵權(quán)案件 企業(yè)400電話辦理哪正規(guī) 400電話辦理哪家好廠商 繽客網(wǎng)注冊(cè)時(shí)地圖標(biāo)注出不來(lái) 重慶營(yíng)銷外呼系統(tǒng)排名 網(wǎng)站上插入地圖標(biāo)注內(nèi)容 鶴壁電銷外呼系統(tǒng)怎么安裝

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

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 目錄下執(zhí)行命令 ./nginx -s reload 重新加載配置文件

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

就這個(gè)問題困擾了大半天。

搜索了好多大神的博客,配置沒有任何問題。后面終于自己想到了。在這里強(qiáng)調(diào)兩個(gè)最基礎(chǔ)最簡(jiǎn)單的問題

1 同一個(gè)域名只能對(duì)應(yīng)一個(gè)IP,同一個(gè)IP可以對(duì)應(yīng)多個(gè)域名

2 當(dāng)訪問網(wǎng)站是系統(tǒng)會(huì)先去你本地的hosts(C:\windows\system32\drivers\etc)文件中查找,如果存在該域名就會(huì)訪問該域名對(duì)應(yīng)的IP,

如果不存在才會(huì)去互聯(lián)網(wǎng)尋找。

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

出現(xiàn)了第一張圖的情況。各位大神的博客都沒有強(qiáng)調(diào)這個(gè)問題,是他們疏忽了還是我基礎(chǔ)太爛了呢???? 哎!不抱怨了。配置完hosts之后如下圖

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

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

補(bǔ)充知識(shí):Nginx 指定域名(或子域名)和網(wǎng)站綁定

問題起因

博主最近在 CentOS 上面部署另外一個(gè)網(wǎng)站,但并不想通過端口號(hào)來(lái)訪問,因?yàn)槎丝谔?hào)對(duì)于 SEO 優(yōu)化不利,且用戶訪問較繁瑣(使用域名不就是為了方便用戶訪問嗎?再引入端口號(hào)豈不是和使用域名的目的相悖嗎?),因此想在 CentOS 的 80 端口上同時(shí)運(yùn)行兩個(gè)網(wǎng)站,nginx 通過請(qǐng)求的域名來(lái)返回相應(yīng)的根目錄下的網(wǎng)站,達(dá)到 80 端口復(fù)用,同時(shí)運(yùn)行多個(gè)網(wǎng)站的目的。

實(shí)現(xiàn)步驟

為方便您檢查路徑,本文在需要對(duì)路徑進(jìn)行要求時(shí),專門使用 pwd 命令打印出博主當(dāng)前步驟所在路徑,便于您檢查。

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

注意:這一步非常關(guān)鍵,如果修改了錯(cuò)誤的 nginx 配置文件,將導(dǎo)致所有修改均無(wú)效,甚至?xí)屇谔剿髁藬?shù)個(gè)小時(shí)后仍無(wú)法得知修改無(wú)效的原因是什么。

使用命令

$ nginx -V

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

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'

其中只需要關(guān)注到 --conf-path=/etc/nginx/nginx.conf 這個(gè)條目,這個(gè)條目指明了當(dāng)前 nginx 的程序使用的默認(rèn)配置文件。

新建一個(gè)站點(diǎn)配置文件

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

$ cd /etc/nginx

然后新建一個(gè)站點(diǎn)配置文件,建議放置在 nginx 配置目錄下的 vhost 目錄內(nèi),如果您當(dāng)前沒有此目錄,可新建一個(gè):

$ 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 是系統(tǒng)目錄,一般用戶不具有修改權(quán)限,需要使用 sudo 以管理員權(quán)限在該目錄中進(jìn)行修改,如創(chuàng)建、修改文件,創(chuàng)建文件夾等操作。

進(jìn)入剛剛創(chuàng)建的 vhost 目錄,新建一個(gè)配置文件,例如 mysite.conf,該配置文件文件名無(wú)限制,最好是你的網(wǎng)站名稱之類的,便于辨認(rèn),但一定是以 .conf 為后綴。

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

其中,touch 命令創(chuàng)建了一個(gè)名為 mysite.conf 的配置文件(空文件),是本文中要介紹的配置文件,另一個(gè)是博主正在運(yùn)行的網(wǎng)站,無(wú)需在意。

修改網(wǎng)站配置文件信息

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

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

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

以上內(nèi)容為一個(gè) server 的內(nèi)容,下面講 nginx.conf 配置的時(shí)候會(huì)再區(qū)分把一行配置寫在 server 或?qū)懺?server 外的區(qū)別。

$ 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 /{
  }
}

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

修改 nginx 配置文件

下面對(duì)關(guān)鍵文件 nginx.conf 進(jìn)行配置,建議在修改前先備份,養(yǎng)成好的習(xí)慣:

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

將原有配置存儲(chǔ)到 nginx.conf.bak 后,繼續(xù)下面操作,若后面發(fā)現(xiàn)修改出錯(cuò),可將 nginx.conf.bak 改名回 nginx.conf 使用。

以超級(jí)用戶權(quán)限使用文本編輯器打開 nginx.conf:

$ sudo vim nginx.conf

并進(jìn)行編輯。

Nginx 配置文件的結(jié)構(gòu)

我們這里只介紹和配置域名綁定相關(guān)的部分結(jié)構(gòu),即 http 小節(jié):

http {
 (各種配置)
}

設(shè)置在此處的配置都是 http 的全局配置,如果要對(duì)某個(gè)網(wǎng)站單獨(dú)配置,則需要對(duì)每個(gè) server 分別設(shè)置:

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

但是我們并不提倡把所有 server 都展開寫在 nginx.conf 中,因此我們使用一句 include 語(yǔ)句,把 vhost 下所有網(wǎng)站的配置都引用進(jìn)來(lái)。注意:include 命令只是簡(jiǎn)單地進(jìn)行文本替換。

于是我們?cè)?nginx.conf 的 http 節(jié)內(nèi)部的末尾寫上一句:

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

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

重啟 nginx 服務(wù)

使用命令:

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

重啟 nginx 服務(wù)。

出現(xiàn)問題:重啟服務(wù)報(bào)錯(cuò)

此時(shí)可使用命令:

$ sudo service nginx status -l

來(lái)查看報(bào)錯(cuò)信息和錯(cuò)誤日志。輸入此命令后,日志不會(huì)馬上顯示出來(lái),稍等幾秒會(huì)顯示出來(lái),-l 選項(xiàng)使得每條日志能夠完整顯示在屏幕上,否則當(dāng)一條日志過長(zhǎng)時(shí),中間的文本將被 ... 替代。

若出現(xiàn)問題,十有八九日志都會(huì)說(shuō)是載入 nginx.conf 出錯(cuò),這多半是因?yàn)槟?nginx.conf 或 mysite.conf 中有錯(cuò)誤的配置。

訪問新網(wǎng)站

為新的二級(jí)域名添加 DNS 解析后,在瀏覽器中訪問 mysite.jinhangdev.cn,正常情況下會(huì)報(bào) 404 Not found 的錯(cuò)誤,這是因?yàn)楸疚牡侥壳盀橹惯€沒有去創(chuàng)建這個(gè)新網(wǎng)站的根目錄,出現(xiàn) 404 錯(cuò)誤反而說(shuō)明前面的配置是正確的,所以下一步我們將創(chuàng)建一個(gè)簡(jiǎn)單的網(wǎng)頁(yè)運(yùn)行起來(lái)。

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

博主習(xí)慣將網(wǎng)站的文件放在 /home/www 下,并給該目錄 0777 權(quán)限,以免出現(xiàn) 403 錯(cuò)誤,雖然這樣不太安全。鑒于博主水平有限,希望有安全需求的讀者關(guān)注其他安全大牛的文章,博主深表歉意。

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

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

切換到 mysite 目錄下,簡(jiǎn)單創(chuàng)建一個(gè)網(wǎng)頁(yè):

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

此時(shí)在瀏覽器中重新訪問,即可看到一行 hello! 了,表示新網(wǎng)站創(chuàng)建成功。

結(jié)語(yǔ)

以上便是一個(gè)新網(wǎng)站的域名綁定的創(chuàng)建過程,若有您不明白或博主的錯(cuò)誤之處,歡迎在評(píng)論區(qū)指正,感激不盡!希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

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

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Nginx定義域名訪問方式》,本文關(guān)鍵詞  Nginx,定義,域名,訪問,方式,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Nginx定義域名訪問方式》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Nginx定義域名訪問方式的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    合肥市| 上饶市| 宁武县| 长乐市| 西林县| 忻城县| 枣阳市| 永川市| 怀集县| 武冈市| 彩票| 靖边县| 淅川县| 民乐县| 宣化县| 昌图县| 绿春县| 娱乐| 新乡县| 哈巴河县| 武宁县| 井研县| 开原市| 宝清县| 常熟市| 克什克腾旗| 水城县| 丁青县| 桑日县| 宁陕县| 舞钢市| 嘉定区| 南丹县| 和龙市| 通江县| 嵊州市| 合作市| 兰考县| 独山县| 镇安县| 扬州市|