一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

云服務器|WEB服務器|FTP服務器|郵件服務器|虛擬主機|服務器安全|DNS服務器|服務器知識|Nginx|IIS|Tomcat|

服務器之家 - 服務器技術 - 服務器知識 - 單臺服務器中利用Apache的VirtualHost如何搭建多個Web站點詳解

單臺服務器中利用Apache的VirtualHost如何搭建多個Web站點詳解

2022-02-17 20:25Michael Lee 服務器知識

這篇文章主要給大家介紹了關于在單臺服務器中利用Apache的VirtualHost如何搭建多個Web站點的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

前言

本文將詳細記錄一下如何在單臺服務器上,利用apache的virtualhost(虛擬主機)來搭建多個不同的web站點,并且每個站點獨立管理自己的session,下面話不多說了,來一起看看詳細的介紹吧。

開發環境

先說下我各項開發環境參數:

  • 操作系統: RedHat6.7(CentOS)
  • WEB服務器:apache2.2
  • php5.6.30

修改Apache配置

apache2.2 的配置文件路徑在 /etc/httpd/conf/httpd.conf

我們用下面的命令修改apache的配置文件:

?
1
$ vim /etc/httpd/conf/httpd.conf

添加監聽端口

找到如下的部分,

?
1
2
3
4
5
6
7
8
9
10
#
# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, in addition to the default. See also the <VirtualHost>
# directive.
#
# Change this to Listen on specific IP addresses as shown below to
# prevent Apache from glomming onto all bound IP addresses (0.0.0.0)
#
#Listen 12.34.56.78:80
Listen 80

默認的話,應該只會監聽80端口,這里我們在后面加上用于另外站點的端口號。例如我們A站點是默認的80端口,B站點計劃搭建在8080端口上,最終的配置文件修改成

?
1
2
3
4
...
#Listen 12.34.56.78:80
Listen 80
Listen 8080

啟動并添加VirtualHost

接著在配置文件中找到下面的章節:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
### Section 3: Virtual Hosts
#
# VirtualHost: If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn't need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at
# <URL:http://httpd.apache.org/docs/2.2/vhosts/>
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual host
# configuration.
 
#
# Use name-based virtual hosting.
#
 NameVirtualHost *:80
 NameVirtualHost *:8080

上面的代碼是我已經修改好的,默認的話,最后兩行NameVirtualHost應該也是被注釋掉了。 因為我們要啟用虛擬主機,所以這里就把我們之前監聽的兩個端口都設置好。

同時,將之后的配置文件修改成如下的樣子,我們先來設置默認的80端口的站點A

?
1
2
3
4
5
6
7
8
9
10
11
12
13
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for requests without a known
# server name.
#
<VirtualHost *:80>
# ServerAdmin [email protected]
 DocumentRoot /var/www/webA
 ServerName webA
# ErrorLog logs/dummy-host.example.com-error_log
# CustomLog logs/dummy-host.example.com-access_log common
</VirtualHost>

默認的Apache是沒有開啟VirtualHost的,所以這些代碼都是被注釋掉了的,我們這里只需要把DocumentRoot和ServerName所在的行去掉注釋并且編輯下就好了。

DocumentRoot指的的是我們A站點的網站根目錄位置

接下來再補充上8080端口的B站點信息就好了。

?
1
2
3
4
<VirtualHost *:8080>
 DocumentRoot /var/www/webB
 ServerName webB
</VirtualHost>

到這里,重啟一下Apache服務(service httpd restart),就可以訪問兩個不同的站點了。

獨立Session

如果我們的A,B兩個站點的登錄邏輯是用的一套代碼,那我們使用后會發現,A站點和B站點的Session是共享的,也就是說,如果用戶在A站點登錄了之后,B站點是無需登錄,自動也處于登錄狀態; 用戶在A站點退出后,也會自動從B站點退出。

這顯然不是我們想要的結果,原因就是A,B兩個站點公用了一套Session體系,所以才會造成這樣的問題。

解決的辦法就是我們指定站點中session的存放位置。

同樣是修改配置文件中指定虛擬主機,我們以站點B做為示例,修改配置文件如下:

?
1
2
3
4
5
6
7
8
<VirtualHost *:8080>
 DocumentRoot /var/www/webB
 ServerName webB
 <Directory "/var/www/webB">
  AllowOverride All
  php_value session.save_path "/var/lib/php/session_B"
 </Directory>
</VirtualHost>

php_value中 session.save_path 其實就是php.ini文件中的session.save_path字段,這里我們其他值都使用默認的php.ini配置文件,唯獨指定了session的文件存放路徑,默認的php session文件是存儲在 /var/lib/php/session/文件夾中。

再試著去訪問以下站點B,并且進行一些session的存取操作,回頭到/var/lib/php/session_B文件夾中,就會發現新的session文件了。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對服務器之家的支持。

原文鏈接:http://lipeng1667.github.io/2017/06/29/apache-virtualhost-multi-port/

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 俄罗斯图书馆无打码久久 | 好男人在线观看免费高清2019韩剧 | 午夜久久久久久网站 | 欧美人禽杂交狂配无删完整 | 99热成人精品热久久669 | jizz漫画| 精品一久久香蕉国产线看播放 | 免费一级毛片完整版在线看 | 国产精品久久久久久五月尺 | 亚洲欧美久久婷婷爱综合一区天堂 | 国产成人免费片在线视频观看 | 91制片厂果冻传媒杨柳作品 | a级黄色片免费 | 亚洲男人的天堂网 | 国产欧美日韩在线观看精品 | 天天干女人 | 国产一久久香蕉国产线看观看 | 男人和女人全黄一级毛片 | 国产精品青青青高清在线观看 | 午夜欧美精品久久久久久久 | 91无套极品外围在线播放 | 99精品国产综合久久久久 | 日本人和黑人一级纶理片 | 亚洲精品国产福利片 | 日本中文字幕一区二区高清在线 | 成人中文字幕在线高清 | 国产精品aⅴ | 草啪啪| 免费高清视频在线观看 | 女仆色在线观看 | 欧美激情 亚洲 | 亚洲va韩国va欧美va天堂 | 男同gay玩奴男同玩奴 | 操大爷影院| 成人亚洲欧美综合 | 国产自拍视频网站 | porno日本大学生高清 | 久久综合色超碰人人 | 九九九九九九伊人 | 国产成人激情 | 国产精品欧美亚洲韩国日本99 |