6、高效能web架構之Apche虛擬主機配置
構建web虛擬主機:
一、前言:
虛擬web主機指的是在同一臺伺服器中執行多個web站點,其中的每一個站點實際上並不獨立佔用整個伺服器。因此被稱為“虛擬的”web主機,通過虛擬web主機服務可以充分利用伺服器的硬體資源,從而大大降低了網站構建及執行成本。
使用httpd可以非常方便地構建虛擬機器主機伺服器,只需要執行一個httpd服務就能夠同時支撐大量的web站點。Httpd支援的虛擬主機型別包括以下三種。
- 基於ip地址,為每個虛擬主機使用不同的ip,且各自對應的ip地址也不相同。這種方式需要為都無權配置多個網路介面,因此應用並不是非常廣泛。
- 基於埠:這種方式並不適用域名、ip地址來區分不同的站點內容,而是使用了不同的tcp埠號,因此使用者在瀏覽不同的虛擬站點時需要同時指定埠號才能訪問。
二、基於域名的虛擬機器配置方法:
1、為虛擬主機配置域名解析(上幾張安裝了DNS服務,在裡面新增兩條A記錄即可):
[[email protected] ~]# cat /var/named/server.com.zone
$TTL 3600
@ SOA server.com. admin.server.com. (
2000 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ IN NS linux-node3.server.com.
IN NS linux-node4.server.com.
linux-node3 IN A 192.168.10.103
linux-node4 IN A 192.168.10.104
abc IN A 192.168.10.104
vip IN A 192.168.10.66
aaa IN A 192.168.10.106
bbb IN A 192.168.10.106
2、測試兩條A記錄是否能解析:
[[email protected] ~]# cat /etc/resolv.conf
# Generated by NetworkManager
search server.com
nameserver 192.168.10.103 #指向自己指定的DNS伺服器
[[email protected] ~]#
[[email protected] ~]# nslookup aaa.server.com
Server: 192.168.10.103
Address: 192.168.10.103#53
Name: aaa.server.com
Address: 192.168.10.106
[[email protected] ~]#
[[email protected] ~]# nslookup bbb.server.com
Server: 192.168.10.103
Address: 192.168.10.103#53
Name: bbb.server.com
Address: 192.168.10.106
3、為虛擬主機準備網頁文件:
[[email protected] ~]# mkdir /usr/local/httpd/htdocs/aaa
[[email protected] ~]# mkdir /usr/local/httpd/htdocs/bbb
[[email protected] ~]# echo "<h1>aaa.server.com</h1>" > /usr/local/httpd/htdocs/aaa/index.html
[[email protected] ~]# echo "<h1>bbb.server.com</h1>" > /usr/local/httpd/htdocs/bbb/index.html
4、新增虛擬主機配置:
[[email protected] ~]# vi /usr/local/httpd/conf/extra/httpd-vhosts.conf #最後面新增這些內容
<Directory "/usr/local/httpd/htdocs">
Order allow,deny
Allow from all
</Directory>
<VirtualHost 192.168.10.106>
DocumentRoot "/usr/local/httpd/htdocs/aaa"
ServerName aaa.server.com
ErrorLog "logs/aaa.server.com-error_log"
CustomLog "logs/aaa.server.com-access_log" common
</VirtualHost>
<VirtualHost 192.168.10.106>
DocumentRoot "/usr/local/httpd/htdocs/bbb"
ServerName bbb.server.com
ErrorLog "logs/bbb.server.com-error_log"
CustomLog "logs/bbb.server.com-access_log" common
</VirtualHost>
[[email protected] ~]# vi /usr/local/httpd/conf/httpd.conf
Include conf/extra/httpd-vhosts.conf //去掉#號,載入此Include
5、驗證:
三、基於ip的虛擬機器配置方法:
1、這裡我要多加一個網絡卡,然後配置新網的ip為192.168.10.107:
[[email protected] ~]# cd /etc/sysconfig/network-scripts/
[[email protected] network-scripts]# cp ifcfg-eno16777736 ifcfg-ens37
[[email protected] network-scripts]# vi ifcfg-ens37
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=ens37
DEVICE=ens37
ONBOOT=yes
IPADDR=192.168.10.107
NETMASK=255.255.255.0
GATEWAY=192.168.10.1
[[email protected] network-scripts]# systemctl restart network
[[email protected] network-scripts]# ifconfig ens37
ens37: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.10.107 netmask 255.255.255.0 broadcast 192.168.10.255
inet6 fd05:fa56:9fbc::2eb prefixlen 128 scopeid 0x0<global>
inet6 fd05:fa56:9fbc:0:20c:29ff:fe7a:f784 prefixlen 64 scopeid 0x0<global>
inet6 fe80::20c:29ff:fe7a:f784 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:7a:f7:84 txqueuelen 1000 (Ethernet)
RX packets 86 bytes 8468 (8.2 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 91 bytes 8234 (8.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
2、新增虛擬主機配置:
[[email protected] ~]# vi /usr/local/httpd/conf/extra/httpd-vhosts.conf
<Directory "/usr/local/httpd/htdocs">
Order allow,deny
Allow from all
</Directory>
<VirtualHost 192.168.10.106>
DocumentRoot "/usr/local/httpd/htdocs/aaa"
ServerName aaa.server.com
ErrorLog "logs/aaa.server.com-error_log"
CustomLog "logs/aaa.server.com-access_log" common
</VirtualHost>
<VirtualHost 192.168.10.107>
DocumentRoot "/usr/local/httpd/htdocs/bbb"
ServerName bbb.server.com
ErrorLog "logs/bbb.server.com-error_log"
CustomLog "logs/bbb.server.com-access_log" common
</VirtualHost>
[[email protected] ~]# vi /usr/local/httpd/conf/httpd.conf
Include conf/extra/httpd-vhosts.conf //記得去掉#號,載入此Include
[[email protected] ~]# /usr/local/httpd/bin/apachectl -k restart
3、測試:
四、基於埠的虛擬機器配置方法:
1、修改虛擬主機的埠配置:
[[email protected] ~]# vi /usr/local/httpd/conf/extra/httpd-vhosts.conf
<Directory "/usr/local/httpd/htdocs">
Order allow,deny
Allow from all
</Directory>
<VirtualHost 192.168.10.106:80>
DocumentRoot "/usr/local/httpd/htdocs/aaa"
ServerName aaa.server.com
ErrorLog "logs/aaa.server.com-error_log"
CustomLog "logs/aaa.server.com-access_log" common
</VirtualHost>
<VirtualHost 192.168.10.106:888>
DocumentRoot "/usr/local/httpd/htdocs/aaa"
ServerName aaa.server.com
ErrorLog "logs/aaa.server.com-error_log"
CustomLog "logs/aaa.server.com-access_log" common
</VirtualHost>
[[email protected] ~]# vi /usr/local/httpd/conf/httpd.conf
Include conf/extra/httpd-vhosts.conf //記得去掉#號,載入此Include
Listen 80
Listen 888
[[email protected] ~]# /usr/local/httpd/bin/apachectl -k restart
[[email protected] ~]# netstat -tunlp | grep httpd
tcp6 0 0 :::80 :::* LISTEN 3117/httpd
tcp6 0 0 :::888 :::* LISTEN 3117/httpd
測試:
虛擬主機配置完啦!下面我們繼續學習其它web東東,是不是很簡單容易掌握。
相關推薦
6、高效能web架構之Apche虛擬主機配置
構建web虛擬主機: 一、前言: 虛擬web主機指的是在同一臺伺服器中執行多個web站點,其中的每一個站點實際上並不獨立佔用整個伺服器。因此被稱為“虛擬的”web主機,通過虛擬web主機服務可以充分利用伺服器的硬體資源,從而大大降低了網站構建及執行成本。 使用htt
7、高效能web架構之Apche使用虛擬主機實現反向代理
Apache反向代理: 前言介紹: 反向代理(Reverse Proxy)方式是指以代理伺服器來接受internet上的連線請求,然後將請求轉發給內部網路上的伺服器,並將從伺服器上得到的結果返回給internet上請求連線的客戶端,此時代理伺服器對外就表現為一個
2、高效能web架構之DNS負載均衡(LVS-DR+keepalived實現DNS和web輪詢)
LVS-DR+keepalived+DNS實現DNS高可用性: 一、介紹: 結合上一章的DNS主從複製,按現在大多數公司的需求是滿足不了的。DNS配置雖然簡單易用,但是它在網路中起到了主導作用。 如果客戶端設定的這臺首選DNS伺服器剛好宕機,即使客戶端還設定了備用DNS
13、高效能web架構之用Codis實現Redis分散式叢集
通過codis實現redis叢集 Codis 是一個分散式 Redis 解決方案, 對於上層的應用來說, 連線到 Codis Proxy 和連線原生的 Redis Server 沒有明顯的區別 (不支援的命令列表https://github.com/CodisLabs/
9、高效能web架構之壓力測試
使用ab進行對web伺服器壓力測試: 前言: 當我們部署完一臺web伺服器之後,想要知道的這臺伺服器的效能。就要知道他的吞吐率和響應時間分別是多少,怎麼看呢?那就需要對它進行壓力測試。 1)吞吐率/響應時間:requests/sec; 2)壓力測試:使用ab工具進行
12、高效能web架構之redis介紹與使用
Redis 簡介 Redis 是完全開源免費的,遵守BSD協議,是一個高效能的key-value資料庫。 Redis 與其他 key - value 快取產品有以下三個特點: Redis支援資料的持久化,可以將記憶體中的資料儲存在磁碟中,重啟的時候可以再次載入進行使用。
11、高效能web架構之tomcat安全管理規範
Tomcat的常用安全管理規範: 如何修改tomcat的預設路徑: 1、主配置檔案是server.xml ,如何修改tomcat預設訪問路徑: a、建立jsp目錄和index.jsp頁面: [[email protected] ~]# mkdir
高效能web 架構之redis 快取叢集
redis 叢集 介紹 redis是一個key-value記憶體資料庫。它支援儲存的value型別包括字串、list(連結串列)、set(集合)、有序集合和hash(雜湊型別)。這些資料型別都支援push/pop、add/remove, redis支援各種不同方式的排序
高效能web 架構之 mysql 讀寫分離
高效能web架構主要保證程式的高可用性和高併發性. 高可用就是 保證程式在99.99%的情況下可以使用,不會因為單機節點故障整體崩潰. 高併發說到底也是為了高可用服務.保證在大量併發的時候服務不會宕機. 高效能web架構主要體現在以下方面 資料庫讀寫分離,因為大
6、OSI參考模型之“傳輸層”
TCP UDP 目錄 TCP UDP 1、TCP 1.1、概述 TCP提供一種面向連接的、可靠的字節流服務 字節流服務(bytestreamservice):TCP不在字節流中插入記錄標識符 TCP對字節流的內容不作任何解釋。TCP不知道傳輸的數據字節流是二進制數據,還是ASCII字符、EBCD
python多執行緒————6、執行緒同步之Semaphore
控制程式碼進入執行緒的數量,控制併發數量,可以使用訊號量Semaphore。 1、定義訊號量sem = threading.Semaphore(3) #3為併發數量 2、消耗訊號量 sem.acquire() 3、釋放訊號量 sem.release()
LNMP架構虛擬主機配置、使用者認證及域名重定向
11月26日任務 12.6 Nginx安裝 https://my.oschina.net/u/3964535/blog/2933878 12.7 預設虛擬主機 12.8 Nginx使用者認證 12.9 Nginx域名重定向 配置nginx虛擬主機
6、CentOS7 安裝Docker之擴充套件(三個技巧,將Docker映象體積減小90%)
三個技巧,將Docker映象體積減小90% 在構建Docker容器時,應該儘量想辦法獲得體積更小的映象,因為傳輸和部署體積較小的映象速度更快。 但RUN語句總是會建立一個新層,而且在生成映象之前還需要使用很多中間檔案,在這種情況下,該如何獲得體積更小的映象呢? 你可能
企業架構研究總結(6)——聯邦企業架構之FEAF的出現和構成(上)
美國聯邦政府可以說是企業架構應用的先行者和最大倡導者。通過企業架構的發展歷史我們可以看出,早在上世紀九十年代以來,美國軍方就對這種全域性性的資訊共享的理論開始了研究,並開發出符合其特色企業架構框架理論(DoDAF)。除此之外,在Zachman框架引入到美國聯邦政府
高效能網站架構之快取篇—Redis叢集搭建
看過高效能網站架構之快取篇--Redis安裝配置和高效能網站架構之快取篇--Redis使用配置埠轉發這兩篇文章的,相信你已經對redis有一定的瞭解,並能夠安裝上,進行簡單的使用了,但是在咱們的實際應用中,使用redis肯定不會使用單機版,不光是redis
淺談web架構之演化過程
前言 最近在開發過程中,遇到很多緩解配置的問題,工程很難啟動,也不知道為什麼環境需要這麼多配置的意義。就在這個時候,一本好書《大型網站技術:核心原理與案例分析》給我帶來全新視角,必須強勢安利一把。連結地址 本文先淺談書中所提到的web架構演化過程。如果經歷的專案足夠多
淺談web架構之架構設計(總結)
架構模式 先來說說模式: 每一個模式描述了一個在我們周圍不斷重複發生的問題及該問題解決方案的核心。這樣,你就能一次又一次地用該方案而不必做重複工作 。 先來說說常見的網站架構模式。這裡沒有涉及具體實現過程,只是簡單介紹其思想和原理,方便日後有用到再深入瞭解。 分層 分層是企業應用系統中最常見的一種
6、學什麼技術之javascript學習指南 資料型別轉換
console.log("------------一個簡單的例子--------------------"); var str = "123"; var res = Number( str );//不會修改str ,只會把轉換的結果返回出來,儲存在res中 console.l
Web架構之Nginx基礎配置
[TOC] # 1、Nginx 虛擬主機 所謂的虛擬主機,在Web服務裡就是一個獨立的網站站點,這個站點對應獨立的域名(也可能是IP或埠),具有獨立的程式及資源目錄,可以獨立地對外提供服務供使用者訪問。 在Nginx中則使用一個server{} 標籤來標識一個虛擬主機,一個Web服務裡可以有多個虛擬主機標
IP、Apache虛擬主機配置部分學習筆記
當前 環境變量 httpd 無法 php nbsp 轉換 配置系統 語法 IP地址 IP地址就是計算機的一個“編號”,該編號是唯一的。相當於我們的身份證號碼一樣。 IP地址格式:a.b.c.d ,每一段的取值範圍0-255。 本機的IP地址:127.0.0.1