當前位置:首頁 » 操作系統 » linux域名映射

linux域名映射

發布時間: 2023-02-24 12:26:05

Ⅰ 如何再linux中配置tomcat域名訪問

綁定和解析 在tomcat下面配置域名(如:www.***.com)的時候,同時又不希望客戶通過我們網站的ip或者域名訪問到tomcat默認的root,配製方法如下: 2.在server.xml中將原有的修改為 【程序編程相關:Java 理論與實踐:並發在一定程度上使】 1.打開tomc...

Ⅱ linux 怎麼修改 etc hosts文件

hosts文件作用

一個主要的作用是:線下環境模擬,通信雙方在同一個區域網內想通過internet上的域名相互訪問,則只需要修改自己的/etc/hosts文件內容即可。

例如,修改www..com的ip為127.0.0.1:

拓展資料:

hosts文件工作機制:

瀏覽器訪問網站,要首先通過DNS伺服器把要訪問的網站域名解析成一個唯一的IP地址,之後,瀏覽器才能對此網站進行定位並且訪問其數據。

操作系統規定,在進行DNS請求以前,先檢查系自己的Hosts文件中是否有這個域名和IP的映射關系。如果有,則直接訪問這個IP地址指定的網路位置,如果沒有,再向已知的DNS伺服器提出域名解析請求。也就是說Hosts的IP解析優先順序比DNS要高。

hosts文件:

hosts —— the static table lookup for host name(主機名查詢靜態表)。

hosts文件是Linux系統上一個負責ip地址與域名快速解析的文件,以ascii格式保存在/etc/目錄下。hosts文件包含了ip地址與主機名之間的映射,還包括主機的別名。

在沒有域名解析伺服器的情況下,系統上的所有網路程序都通過查詢該文件來解析對應於某個主機名的ip地址,否則就需要使用dns服務程序來解決。通過可以將常用的域名和ip地址映射加入到hosts文件中,實現快速方便的訪問。

優先順序 : dns緩存 > hosts > dns服務

具體作用:

來看一下Hosts文件的工作方式以及它在具體使用中起哪些作用。

1、加快域名解析

對於要經常訪問的網站,我們可以通過在Hosts中配置域名和IP的映射關系,提高域名解析速度。由於有了映射關系,當我們輸入域名計算機就能很快解析出IP,而不用請求網路上的DNS伺服器。

2、方便區域網用戶

在很多單位的區域網中,會有伺服器提供給用戶使用。但由於區域網中一般很少架設DNS伺服器,訪問這些伺服器時,要輸入難記的IP地址。這對不少人來說相當麻煩。可以分別給這些伺服器取個容易記住的名字,然後在Hosts中建立IP映射,這樣以後訪問的時候,只要輸入這個伺服器的名字就行了。

3、屏蔽網站(域名重定向)

有很多網站不經過用戶同意就將各種各樣的插件安裝到你的計算機中,其中有些說不定就是木馬或病毒。對於這些網站我們可以利用Hosts把該網站的域名映射到錯誤的IP或本地計算機的IP,這樣就不用訪問了。在WINDOWS系統中,約定 127.0.0.1 為本地計算機的IP地址, 0.0.0.0是錯誤的IP地址。

如果,我們在Hosts中,寫入以下內容:

127.0.0.1 # 要屏蔽的網站 A

0.0.0.0 # 要屏蔽的網站 B

這樣,計算機解析域名A和 B時,就解析到本機IP或錯誤的IP,達到了屏蔽網站A 和B的目的。

4、順利連接系統

對於Lotus的伺服器和一些資料庫伺服器,在訪問時如果直接輸入IP地址那是不能訪問的,只能輸入伺服器名才能訪問。那麼我們配置好Hosts文件,這樣輸入伺服器名就能順利連接了。

Linux:

1.Linux操作系統是UNIX操作系統的一種克隆系統,它誕生linux系統於1991 年的10 月5 日(這是第一次正式向外公布的時間)。

2.以後藉助於Internet網路,並通過全世界各地計算機愛好者的共同努力,已成為今天世界上使用最多的一種UNIX 類操作系統,並且使用人數還在迅猛增長。

3.Linux是一套免費使用和自由傳播的類Unix操作系統,是一個基於POSIX和UNIX的多用戶、多任務、支持多線程和多CPU的操作系統。

4.它能運行主要的UNIX工具軟體、應用程序和網路協議。它支持32位和64位硬體。Linux繼承了Unix以網路為核心的設計思想,是一個性能穩定的多用戶網路操作系統。它主要用於基於Intel x86系列CPU的計算機上。

5.這個系統是由全世界各地的成千上萬的程序員設計和實現的。其目的是建立不受任何商品化軟體的版權制約的、全世界都能自由使用的Unix兼容產品。

6.Linux以它的高效性和靈活性著稱,Linux模塊化的設計結構,使得它既能在價格昂貴的工作站上運行,也能夠在廉價的PC機上實現全部的Unix特性,具有多任務、多用戶的能力。

7.Linux是在GNU公共許可許可權下免費獲得的,是一個符合POSIX標準的操作系統。Linux操作系統軟體包不僅包括完整的Linux操作系統,而且還包括了文本編輯器、高級語言編譯器等應用軟體。

8.它還包括帶有多個窗口管理器的X-Windows圖形用戶界面,如同我們使用Windows NT一樣,允許我們使用窗口、圖標和菜單對系統進行操作。

hosts格式配置:

hosts文件可以配置主機ip與對應的主機名。在區域網或者是萬維網上,每台主機都有一個ip地址,它區分開每台主機,並可以根據ip進行通訊。但是Ip地址不符合人腦的記憶規律,因此出現了域名,例如www..com.在一個區域網中,每台機器都有一個主機名,用於區分主機,便於相互訪問。

hosts文件格式:

ip地址 主機名/域名 (主機別名)

Ⅲ 怎麼能讓linux 配置域名 訪問本地項目 實現文件共享

可以使用比較簡單的NFS

一、NFS服務簡介
NFS 是Network File System的縮寫,即網路文件系統。一種使用於分散式文件系統的協定,由Sun公司開發,於1984年向外公布。功能是通過網路讓不同的機器、不同的操作系統能夠彼此分享個別的數據,讓應用程序在客戶端通過網路訪問位於伺服器磁碟中的數據,是在類Unix系統間實現磁碟文件共享的一種方法。
NFS 的基本原則是「容許不同的客戶端及服務端通過一組RPC分享相同的文件系統」,它是獨立於操作系統,容許不同硬體及操作系統的系統共同進行文件的分享。
NFS在文件傳送或信息傳送過程中依賴於RPC協議。RPC,遠程過程調用 (Remote Procere Call) 是能使客戶端執行其他系統中程序的一種機制。NFS本身是沒有提供信息傳輸的協議和功能的,但NFS卻能讓我們通過網路進行資料的分享,這是因為NFS使用了一些其它的傳輸協議。而這些傳輸協議用到這個RPC功能的。可以說NFS本身就是使用RPC的一個程序。或者說NFS也是一個RPC SERVER。所以只要用到NFS的地方都要啟動RPC服務,不論是NFS SERVER或者NFS CLIENT。這樣SERVER和CLIENT才能通過RPC來實現PROGRAM PORT的對應。可以這么理解RPC和NFS的關系:NFS是一個文件系統,而RPC是負責負責信息的傳輸。
二、系統環境
系統平台:CentOS release 5.6 (Final)
NFS Server IP:192.168.1.108
防火牆已關閉/iptables: Firewall is not running.
SELINUX=disabled
三、安裝NFS服務
NFS的安裝是非常簡單的,只需要兩個軟體包即可,而且在通常情況下,是作為系統的默認包安裝的。
nfs-utils-* :包括基本的NFS命令與監控程序
portmap-* :支持安全NFS RPC服務的連接
1、查看系統是否已安裝NFS

系統默認已安裝了nfs-utils portmap 兩個軟體包。
2、如果當前系統中沒有安裝NFS所需的軟體包,需要手工進行安裝。nfs-utils 和portmap 兩個包的安裝文件在系統光碟中都會有。
# mount /dev/cdrom /mnt/cdrom/
# cd /mnt/cdrom/CentOS/
# rpm -ivh portmap-4.0-65.2.2.1.i386.rpm
# rpm -ivh nfs-utils-1.0.9-50.el5.i386.rpm
# rpm -q nfs-utils portmap

四、NFS系統守護進程
nfsd:它是基本的NFS守護進程,主要功能是管理客戶端是否能夠登錄伺服器;
mountd:它是RPC安裝守護進程,主要功能是管理NFS的文件系統。當客戶端順利通過nfsd登錄NFS伺服器後,在使用NFS服務所提供的文件前,還必須通過文件使用許可權的驗證。它會讀取NFS的配置文件/etc/exports來對比客戶端許可權。
portmap:主要功能是進行埠映射工作。當客戶端嘗試連接並使用RPC伺服器提供的服務(如NFS服務)時,portmap會將所管理的與服務對應的埠提供給客戶端,從而使客戶可以通過該埠向伺服器請求服務。
五、NFS伺服器的配置
NFS伺服器的配置相對比較簡單,只需要在相應的配置文件中進行設置,然後啟動NFS伺服器即可。
NFS的常用目錄
/etc/exports NFS服務的主要配置文件
/usr/sbin/exportfs NFS服務的管理命令
/usr/sbin/showmount 客戶端的查看命令
/var/lib/nfs/etab 記錄NFS分享出來的目錄的完整許可權設定值
/var/lib/nfs/xtab 記錄曾經登錄過的客戶端信息
NFS服務的配置文件為 /etc/exports,這個文件是NFS的主要配置文件,不過系統並沒有默認值,所以這個文件不一定會存在,可能要使用vim手動建立,然後在文件裡面寫入配置內容。
/etc/exports文件內容格式:
<輸出目錄> [客戶端1 選項(訪問許可權,用戶映射,其他)] [客戶端2 選項(訪問許可權,用戶映射,其他)]

a. 輸出目錄:
輸出目錄是指NFS系統中需要共享給客戶機使用的目錄;
b. 客戶端:
客戶端是指網路中可以訪問這個NFS輸出目錄的計算機
客戶端常用的指定方式
指定ip地址的主機:192.168.0.200
指定子網中的所有主機:192.168.0.0/24 192.168.0.0/255.255.255.0
指定域名的主機:david.bsmart.cn
指定域中的所有主機:*.bsmart.cn
所有主機:*
c. 選項:
選項用來設置輸出目錄的訪問許可權、用戶映射等。
NFS主要有3類選項:
訪問許可權選項
設置輸出目錄只讀:ro
設置輸出目錄讀寫:rw
用戶映射選項
all_squash:將遠程訪問的所有普通用戶及所屬組都映射為匿名用戶或用戶組(nfsnobody);
no_all_squash:與all_squash取反(默認設置);
root_squash:將root用戶及所屬組都映射為匿名用戶或用戶組(默認設置);
no_root_squash:與rootsquash取反;
anonuid=xxx:將遠程訪問的所有用戶都映射為匿名用戶,並指定該用戶為本地用戶(UID=xxx);
anongid=xxx:將遠程訪問的所有用戶組都映射為匿名用戶組賬戶,並指定該匿名用戶組賬戶為本地用戶組賬戶(GID=xxx);
其它選項
secure:限制客戶端只能從小於1024的tcp/ip埠連接nfs伺服器(默認設置);
insecure:允許客戶端從大於1024的tcp/ip埠連接伺服器;
sync:將數據同步寫入內存緩沖區與磁碟中,效率低,但可以保證數據的一致性;
async:將數據先保存在內存緩沖區中,必要時才寫入磁碟;
wdelay:檢查是否有相關的寫操作,如果有則將這些寫操作一起執行,這樣可以提高效率(默認設置);
no_wdelay:若有寫操作則立即執行,應與sync配合使用;
subtree:若輸出目錄是一個子目錄,則nfs伺服器將檢查其父目錄的許可權(默認設置);
no_subtree:即使輸出目錄是一個子目錄,nfs伺服器也不檢查其父目錄的許可權,這樣可以提高效率;
六、NFS伺服器的啟動與停止
在對exports文件進行了正確的配置後,就可以啟動NFS伺服器了。
1、啟動NFS伺服器
為了使NFS伺服器能正常工作,需要啟動portmap和nfs兩個服務,並且portmap一定要先於nfs啟動。
# service portmap start
# service nfs start

2、查詢NFS伺服器狀態
# service portmap status
# service nfs status

3、停止NFS伺服器
要停止NFS運行時,需要先停止nfs服務再停止portmap服務,對於系統中有其他服務(如NIS)需要使用時,不需要停止portmap服務
# service nfs stop
# service portmap stop

4、設置NFS伺服器的自動啟動狀態
對於實際的應用系統,每次啟動LINUX系統後都手工啟動nfs伺服器是不現實的,需要設置系統在指定的運行級別自動啟動portmap和nfs服務。
# chkconfig --list portmap
# chkconfig --list nfs

設置portmap和nfs服務在系統運行級別3和5自動啟動。
# chkconfig --level 35 portmap on
# chkconfig --level 35 nfs on

七、實例
1、將NFS Server 的/home/david/ 共享給192.168.1.0/24網段,許可權讀寫。
伺服器端文件詳細如下:

# vi /etc/exports
/home/david 192.168.1.0/24(rw)

2、重啟portmap 和nfs 服務
# service portmap restart
# service nfs restart
# exportfs

3、伺服器端使用showmount命令查詢NFS的共享狀態
# showmount -e//默認查看自己共享的服務,前提是要DNS能解析自己,不然容易報錯

# showmount -a//顯示已經與客戶端連接上的目錄信息

4、客戶端使用showmount命令查詢NFS的共享狀態
# showmount -e NFS伺服器ip

5、客戶端掛載NFS伺服器中的共享目錄
命令格式
# mount NFS伺服器IP:共享目錄 本地掛載點目錄

# mount 192.168.1.108:/home/david/ /tmp/david/
# mount |grep nfs

掛載成功。
查看文件是否和伺服器端一致。

6、NFS的共享許可權和訪問控制
現在我們在/tmp/david/ 裡面建立一個文件,看看許可權是什麼
# touch 20130103

這里出現Permission denied,是因為NFS 伺服器端共享的目錄本身的寫許可權沒有開放給其他用戶,在伺服器端打開該許可權。
# chmod 777 -R /home/david/

再次在客戶端/tmp/david/ 裡面建立一個文件

我用root 用戶建立的文件,變成了nfsnobody 用戶。
NFS有很多默認的參數,打開/var/lib/nfs/etab 查看分享出來的/home/david/ 完整許可權設定值。
# cat /var/lib/nfs/etab

默認就有sync,wdelay,hide 等等,no_root_squash 是讓root保持許可權,root_squash 是把root映射成nobody,no_all_squash 不讓所有用戶保持在掛載目錄中的許可權。所以,root建立的文件所有者是nfsnobody。
下面我們使用普通用戶掛載、寫入文件測試。
# su - david
$ cd /tmp/david/
$ touch 2013david

普通用戶寫入文件時就是自己的名字,這也就保證了伺服器的安全性。
關於許可權的分析
1. 客戶端連接時候,對普通用戶的檢查
a. 如果明確設定了普通用戶被壓縮的身份,那麼此時客戶端用戶的身份轉換為指定用戶;
b. 如果NFS server上面有同名用戶,那麼此時客戶端登錄賬戶的身份轉換為NFS server上面的同名用戶;
c. 如果沒有明確指定,也沒有同名用戶,那麼此時 用戶身份被壓縮成nfsnobody;
2. 客戶端連接的時候,對root的檢查
a. 如果設置no_root_squash,那麼此時root用戶的身份被壓縮為NFS server上面的root;
b. 如果設置了all_squash、anonuid、anongid,此時root 身份被壓縮為指定用戶;
c. 如果沒有明確指定,此時root用戶被壓縮為nfsnobody;
d. 如果同時指定no_root_squash與all_squash 用戶將被壓縮為 nfsnobody,如果設置了anonuid、anongid將被壓縮到所指定的用戶與組;
7、卸載已掛載的NFS共享目錄
# umount /tmp/david/

八、啟動自動掛載nfs文件系統
格式:
<server>:</remote/export> </local/directory> nfs < options> 0 0

# vi /etc/fstab

保存退出,重啟系統。
查看/home/david 有沒有自動掛載。

自動掛載成功。
九、相關命令
1、exportfs
如果我們在啟動了NFS之後又修改了/etc/exports,是不是還要重新啟動nfs呢?這個時候我們就可以用exportfs 命令來使改動立刻生效,該命令格式如下:
# exportfs [-aruv]
-a 全部掛載或卸載 /etc/exports中的內容
-r 重新讀取/etc/exports 中的信息 ,並同步更新/etc/exports、/var/lib/nfs/xtab
-u 卸載單一目錄(和-a一起使用為卸載所有/etc/exports文件中的目錄)
-v 在export的時候,將詳細的信息輸出到屏幕上。
具體例子:
# exportfs -au 卸載所有共享目錄
# exportfs -rv 重新共享所有目錄並輸出詳細信息
2、nfsstat
查看NFS的運行狀態,對於調整NFS的運行有很大幫助。
3、rpcinfo

查看rpc執行信息,可以用於檢測rpc運行情況的工具,利用rpcinfo -p 可以查看出RPC開啟的埠所提供的程序有哪些。
4、showmount
-a 顯示已經於客戶端連接上的目錄信息
-e IP或者hostname 顯示此IP地址分享出來的目錄
5、netstat
可以查看出nfs服務開啟的埠,其中nfs 開啟的是2049,portmap 開啟的是111,其餘則是rpc開啟的。
最後注意兩點,雖然通過許可權設置可以讓普通用戶訪問,但是掛載的時候默認情況下只有root可以去掛載,普通用戶可以執行sudo。
NFS server 關機的時候一點要確保NFS服務關閉,沒有客戶端處於連接狀態!通過showmount -a 可以查看,如果有的話用kill killall pkill 來結束,(-9 強制結束)

Ⅳ 請教Linux下Hosts 文件內,一個域名對應多個IP是怎麼操作的

一個域名對應多個IP地址,只需要分成多行來寫就行了,比如一個域名對於3個IP地址,就分成3行來寫,3行的每一行的域名部分都一樣。但是要注意,有的程序只會取第一行設置而忽略其他的設置,比如用ping命令來ping這樣具有多個IP設置的域名,ping命令實際上只會ping第一個IP地址。

Ⅳ linux環境下/etc/hosts文件詳解

hosts文件是linux系統中負責ip地址與域名快速解析的文件,以ASCII格式保存在/etc目錄下,文件名為hosts,不同的linux版本,文件也可能不同,比如Debian的對應文件是/etc/hostname。hosts文件包含了ip地址和主機名之間的映射,包括主機名的別名,在沒有域名伺服器的情況下,系統上的所有網路程序都通過查詢該文件來解析對應於某個主機名的ip地址,否則就需要使用DNS服務程序來解決。通常可以將常用的域名和ip地址映射加入到hosts文件中,實現快速方便的訪問
優先順序:dns緩存>hosts>dns服務
hosts:the static table lookup for host name(主機名查詢靜態表)

hosts文件可以配置主機ip與對應的主機名,在區域網或者internet上,每台主機都有自己的ip地址,它區分開每台主機,並且可以通過ip地址進行通訊。但是ip地址不方便記憶,所以出現了域名(比如 www..com )。在一個區域網中,每台機器都有一個主機名,用於區分主機,便於相互訪問
查看linux中的hosts文件

通過這個文件可以看到哪些域名對應哪些ip,哪些主機名對應哪些ip,通常情況下這個文件首先記錄了本機的ip和主機名
一般情況下hosts文件的每行為一個主機,每行由三部分組成,每個部分由空格隔開,格式如下

第一部分:網路ip地址
第二部分:主機名或域名
第三部分:主機別名
當然每行也可以是兩部分,即網路ip地址和主機名。主機名(hostname)和域名(Domain)的區別在於,主機名通常在區域網內使用,通過hosts文件,主機名就被解析到對應ip。域名通常在internet上使用,但如果本機不想使用internet上的域名解析,這時就可以更改hosts文件,加入自己的域名解析。

參考1: Linux操作系統下/etc/hosts文件配置方法
參考2: Linux修改/etc/hosts

Ⅵ linux伺服器怎樣綁定域名

一、DNS伺服器的設置

我們知道互聯網網是基於TCP/IP協議的,要進行通信必須獲得對方的IP地址,這是通過DNS伺服器來實現的。因此要想實現虛擬域名首先應當令DNS伺服器接受該虛擬域名,即把它映射到指定的IP地址上。因為我們靠Web伺服器來區分域名,所以這個IP地址自然應當是Web伺服器所管理的。

RedHat6.0操作系統中捆綁有BIND DNS伺服器。它的域名配置文件是」/etc/named.conf」,一般情況下,域配置文件放在」/var/named」目錄下面。

例1、named.conf文件的配置:

zone 「domain.com」 {
type master;
file 「domain.com」;
};
zone 「0.10.10.in-addr.arpa」 {
type master;
file 「10.10.0〃;
};

該例子說明」domain.com」的域配置文件是」/var/named/domain.com」,反向域的配置文件是」/var/named/10.10.0〃。domain.com文件負責把DNS域名映射為IP地址。

例2、domain.com文件配置:

@ IN SOA dns.domain.com. hostmaster.dns.domain.com. (
1998111003 ; serial
3600 ; refresh
900 ; retry
1209600 ; expire
43200 ; default_ttl
)
@ IN MX 10 dns.domain.com.
@ IN NS dns.domain.com.
@ IN A 10.10.0.1
www IN A 10.10.0.1

假定要增加的域名是aaa.domain.com,想要指到www.domain.com,DNS服務中應增加一個別名記錄,可寫成:

aaa IN CNAME www.domain.com.

如果需要配置大量的虛擬域名,domain.com文件要很大,而且也相當麻煩。我們可以使用符號 「*」 ,即在 domain.com 文件中加入:

* IN CNAME www.domain.com.

這樣它就把所有沒給出設置的以domain.com結尾的記錄全部轉到www.domain.com去了,不管是aaa.domain.com還是bbb.domain.com。這不會影響已有的記錄。配置好DNS伺服器後應該重新啟動守護進程named:

[root@domain /root]# /etc/rc.d/init.d/named restart
二、Apache伺服器的配置

Apache伺服器是目前互聯網上使用最多的Web伺服器,它可以維護非常繁忙的站點。RedHat 6.0捆綁了Apache Web Server 1.3。它的配置文件位於」/etc/httpd/conf」目錄下,有httpd.conf、srm.conf、access.conf,下面討論一下與虛擬域名有關的配置:

1、靜態配置

修改配置文件 httpd.conf 的步驟:

(1) 首先設置UseCanonicalName為off。它指示用伺服器Host:header的內容代替ServerName 的值來提供給環境變數SERVER_NAME。

(2) 然後加入:

NameVirtualHost xxx.xxx.xxx.xxx其中xxx.xxx.xxx.xxx為所要配置的虛擬伺服器的IP地址。在此可配置多個虛擬IP地址,當然要與DNS伺服器中的配置一致。(注意:這里要用IP地址,不能用域名。)

(3) 接下來為每個虛擬域名加入一段記錄:

< virtualhost xxx.xxx.xxx.xxx>
…..
< /virtualhost>

xxx.xxx.xxx.xxx要和NameVirtualHost配置的IP地址一致。在兩個標志之間可加入的配置參數有:

ServerName後面跟你要增加的虛擬域名,如aaa.domain.com ;
Documentroot如果你映射到本機的路徑就加在後面,如」/home/aaa」 ;
redirect如果你映射到遠端的URL可加在後面,有兩個參數,第一個是虛擬域名的相對路徑,第二個是遠端站點的URL;
ServerAlias後可加入本域名的別名,可使用通配符,如*.aaa.domain.com 。

下面舉兩個例子:

例3、映射到本機的物理路徑:

< virtualhost xxx.xxx.xxx.xxx>
DocumentRoot 「/home/test」
ServerName test.domain.com
< virtualhost>

例4、映射到遠端的URL:

< virtualhost xxx.xxx.xxx.xxx>
ServerName test1.doamin.com
redirect / http://test.domain1.com/welcome.htm
< /virtualhost>

還有一些參數,象log文件的位置、超時的設置、緩沖區的設置等等,在此不一一介紹,可以參考Apache伺服器的在線幫助文件。配置好httpd.conf文件後需要重新啟動Apache的後台守護進程httpd,

[root@domain /root]# /etc/rc.d/init.d/httpd restart

每增加一個虛擬域名就要增加一段位於 < VirtualHost...>…< /VirtualHost> 之間的配置代碼,而且只有在重新啟動 httpd 後新配置才能生效。

2、動態配置

可以發現,如果要配置大量的虛擬域名將大大增加配置文件的長度,這樣還會使Apache啟動變慢,佔用更多的內存,而且也不容易實現在線申請。可以通過選擇動態方式來配置。這樣不必事先寫好配置,而是通過編寫一定的動態規則來自動生成或隨時從獨立的配置文件中讀取信息。

Apache有一個強大的擴展功能,即模塊(Moles)的特性。模塊可對伺服器的功能進行擴充,它在運行和使用時才裝入伺服器,這樣比一直放入伺服器中要節省內存空間,同時也比調用外部CGI程序速度快。

現在使用一個功能強大的模塊來實現動態配置虛擬域名,這就是mod_rewrite。它負責偵聽從客戶機送出的URL地址,並基於一組規則表達式對該URL來進行重寫。這類似於URL別名概念,但它更進了一步,輸出的URL可以映射到其他主機的任何URL地址上。 修改配置文件httpd.conf的步驟:

(1) 先設置UseCanonicalName為off 。

(2) 使用RewriteEngine on打開rewrite引擎。用RewriteMap設定配置文件的位置和屬性,用RewriteCond和RewriteRule制定相應的規則。

例5、httpd.conf 文件中相關配置的一個例子:

RewriteEngine on
RewriteMap lowercase int:tolower
# 定義獨立的配置文件的位置
RewriteMap vhost dbm:/www/conf/vhostdbm
# 利用獨立的配置文件重映射虛擬域名
RewriteCond ${vhost:%1} ^(/.*)$
RewriteRule ^/(.*)$ %1/docs/$1

RewriteCond %{REQUEST_URI} ^/cgi-bin/
RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
RewriteCond ${vhost:%1} ^(/.*)$
RewriteRule ^/(.*)$ %1/cgi-bin/$1

這里的 vhostdbm 文件格式見」CGI 程序的編制」 。
三、CGI程序的編制

要實現虛擬域名的在線申請,就必須編寫相應CGI程序動態修改獨立的配置文件(即上面的vhostdbm文件)和進行用戶的管理(包括用戶申請,登錄,密碼修改等等)。在此只介紹對獨立的配置文件的操作,其他屬於如何用Perl語言來編寫CGI程序,請參考有關資料。

vhostdbm文件使用dbm格式來記錄數據,與用普通文本文件相比可加快尋找速度,而且易於修改。許多UNIX系統都具有叫做dbm(database management)的標准庫。該庫將鍵-值對的集合存貯到一對磁碟文件中,提供簡單的資料庫管理工具,可以方便的更改、新增或刪除數據內容。

Perl訪問dbm的方式:通過一個類似於打開文件的進程將關聯數組與dbm資料庫聯系起來。在數組中創建新元素時立即就更改了dbm資料庫。刪除一個元素的同時也刪除了dbm資料庫中的數值。可使用:

1、欲將dbm資料庫與dbm數組相關聯起來:

dbmopen(%arrayname,」dbmfilename」,$mode);

如果dbmfilename不存在的話就新建該庫。%arrayname參數是Perl的關聯數組(如果這個數組已經有值,那麼這些值就被刪除)。該關聯數組連接到叫做dbmfilename的dbm資料庫中。$mode 參數是當需要創建庫時控制庫文件許可權的數字,該數字被指定為8制,經常被用到的是0644,給除了機主之外的新用戶以只讀的許可權,機主可有全部許可權。

2、關閉dbm庫:

dbmclose(%arrayname);
%arrayname 是已經與dbm庫關聯了的數組名。

例6、VHOST打開vhostdbm,或新建一個dbm庫:

dbmopen(%VHOST,」vhostdbm」,0644);

例7、新建記錄或更改已有記錄(設從html文件form中傳過來的參數名為vhost、rhost):
$VHOST{$FORM{』vhost』}}=$FORM{』rhost』};

例8、刪除已有記錄(設從html文件form中傳過來的參數名為vhost):
delete $VHOST{$FORM{』vhost』}};

例9、關閉vhostdbm:

dbmclose(%VHOST);

註:以上已經假設傳過來的參數經過了驗證,不存在重復的記錄,否則會導致已有記錄的混亂。

httpd.conf 該文件底部

< virtualhost 192.168.0.100> #你的伺服器ip
DocumentRoot 「/home/test」 #你的網站路徑
ServerName test.domain.com #你的域名
< virtualhost>

Ⅶ 如何再linux中配置tomcat域名訪問

  1. 在server.xml中將原有的<Host name=「localhost「 appBase=「webapps「 ……>修改為<Host name=「您要配置的域名(www.***.com)appBase=「webapps「……>

  2. 在/conf/Catalina目錄下建立目錄「<您要配置的域名的名稱>」,然後建立ROOT.xml文件,其格式和/conf/localhost目錄下的ROOT.xml一致,但是內容如下:
    <?xml version='1.0' encoding='utf-8'?>
    <Context displayName="Welcome to the World!" docBase="E:/root/index.jsp" path="">
    </Context>
    其中docBase中的內容就是你希望的打開您的域名(www.***.com) 的時候映射到的目錄和默認的網頁(如:index.jsp)

  3. 啟動Tomcat伺服器,就可以直接敲入域名訪問你要訪問的地址了。

Ⅷ 如何在Linux中通過命令查看域名對應的IP

實際工作或者維護過程中常常需要通過域名反查下其對應的IP地址。解決方法有多種,既可以通過網上提供的域名反查IP查詢工具查詢,也可以在 Linux系統 中通過命令進行查詢。

本教程主要講解如何在Linux系統中通過命令查看域名對應的IP地址,主要講解以下5個命令:

dig命令它是一個功能強大且靈活的命令行工具,用於查詢 DNS 名稱伺服器。它執行 DNS 查詢,並顯示來自查詢的名稱伺服器的返回信息。大多數 DNS 管理員使用 dig 命令來解決 DNS 問題,因為它靈活、易用且輸出清晰。

如何使用 dig 命令查找域的 IP 地址呢?看示例:

輸出:

當然如果你需要一次查詢多個域名的IP地址,可以通過將多個域名信息放到一個文本文件中,每行一個,然後編寫shell腳本進行讀取文件然後循環批量查詢輸出。

shell腳本命令類似如下:

host 命令可用於執行 DNS 查詢。它通常用於將名稱轉換為 IP 地址,反之亦然。如果未提供任何參數或選項, host 將列印它的命令行參數和選項摘要。

輸出:

同理,可以通過編寫shell腳本實現批量查詢,示例如下:

nslookup 命令是一個用於查詢互聯網域名伺服器(DNS)的程序。

nslookup 有兩種模式,分別是互動式和非互動式。交互模式允許用戶查詢名稱伺服器以獲取有關各種主機和域的信息,或列印域中的主機列表。非交互模式用於僅列印主機或域的名稱和請求的信息。

它是一個網路管理工具,可以幫助診斷和解決 DNS 相關問題。命令示例如下:

輸出:

同理,使用以下 bash 腳本查找多個域的 IP 地址

fping 命令是類似 ping 之類的程序,它使用互聯網控制消息協議(ICMP)echo 請求來確定目標主機是否響應。

fping 與 ping 不同,因為它允許用戶並行 ping 任意數量的主機。另外,它可以從文本文件輸入主機。

fping 發送 ICMP echo 請求,並以循環方式移到下一個目標,並且不等到目標主機做出響應。

如果目標主機答復,那麼將其標記為活動主機並從要檢查的目標列表中刪除;如果目標在特定時間限制和/或重試限制內未響應,那麼將其指定為不可訪問。

fping命令程序並不默認安裝在 Linux發行版 中,一般需要進行安裝,常見的發行版安裝命令如下:

Ubuntu / Debian / LinuxMint

Fedora / CentOS / RHEL

fping默認使用示例:

輸出:

更多關於fping的使用方法可以通過在終端中鍵入 man fping 來學習。

ping 命令(數據包互聯網抓手Packet Internet Groper)是一個網路程序,用於測試 Internet 協議(IP)網路上主機的可用性/連接性。

ping命令通過向目標主機發送互聯網控制消息協議(ICMP)Echo 請求數據包並等待 ICMP Echo 應答來驗證主機的可用性。

它基於發送的數據包、接收的數據包、丟失的數據包,通常包含最小/平均/最大時間來匯總統計結果。

命令示例:

輸出:

我們可以看到輸出內容中起對應的IP地址,如果需要過濾輸出,增加更多相應的命令處理:

輸出:

以上內容為在 Linux系統 中使用5個命令來獲取域名對應的IP地址。建議你可以在自己的伺服器或者自己的Linux同上進行嘗試,也可以通過編寫shell腳本進行批量處理或通過相應的命令對輸出進行處理輸出自己想要的內容。

Ⅸ 請教Linux下Hosts 文件內,一個域名對應多個IP是怎麼操作的

hosts文件是多域名對應一個IP
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4

一個域名對應多個IP:是用nginx的虛擬主機

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:593
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:888
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:581
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:765
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:684
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1013
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:255
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:114
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:806
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:712