欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2017年09月29日 10:03:14   作者:Michael Lee  
這篇文章主要給大家介紹了關(guān)于在單臺服務(wù)器中利用Apache的VirtualHost如何搭建多個Web站點的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。

前言

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

開發(fā)環(huán)境

先說下我各項開發(fā)環(huán)境參數(shù):

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

修改Apache配置

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

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

$ vim /etc/httpd/conf/httpd.conf

添加監(jiān)聽端口

找到如下的部分,

#
# 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

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

...
#Listen 12.34.56.78:80
Listen 80
Listen 8080

啟動并添加VirtualHost

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

### 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

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

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

#
# 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 webmaster@dummy-host.example.com
 DocumentRoot /var/www/webA
 ServerName webA
# ErrorLog logs/dummy-host.example.com-error_log
# CustomLog logs/dummy-host.example.com-access_log common
</VirtualHost>

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

DocumentRoot指的的是我們A站點的網(wǎng)站根目錄位置

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

<VirtualHost *:8080>
 DocumentRoot /var/www/webB
 ServerName webB
</VirtualHost>

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

獨立Session

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

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

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

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

<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字段,這里我們其他值都使用默認(rèn)的php.ini配置文件,唯獨指定了session的文件存放路徑,默認(rèn)的php session文件是存儲在 /var/lib/php/session/文件夾中。

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

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

  • Linux常用命令last的使用方法詳解

    Linux常用命令last的使用方法詳解

    最近在學(xué)習(xí)linux命令,學(xué)習(xí)到了last命令,發(fā)現(xiàn)很多同學(xué)對last命令不是很熟悉,last命令的功能列出目前與過去登入系統(tǒng)的用戶相關(guān)信息,下面這篇文章主要給大家介紹了關(guān)于Linux常用命令last的使用方法,需要的朋友可以參考借鑒。
    2017-08-08
  • 詳解linux系統(tǒng)目錄sys,tmp,usr,var!

    詳解linux系統(tǒng)目錄sys,tmp,usr,var!

    在本篇文章里小編給大家詳解了關(guān)于linux系統(tǒng)目錄,sys,tmp,usr,var!的相關(guān)知識點內(nèi)容,有興趣的朋友們參考下。
    2019-06-06
  • 在Ubuntu Linux上安裝和使用Git和GitHub

    在Ubuntu Linux上安裝和使用Git和GitHub

    今天小編就為大家分享一篇關(guān)于在Ubuntu Linux上安裝和使用Git和GitHub的文章,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-09-09
  • linux常用工具vi/vim的使用完整版

    linux常用工具vi/vim的使用完整版

    這篇文章主要給大家介紹了關(guān)于linux常用工具vi/vim使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用linux系統(tǒng)具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • 如何在Apache和Nginx禁止上傳目錄里PHP的執(zhí)行權(quán)限

    如何在Apache和Nginx禁止上傳目錄里PHP的執(zhí)行權(quán)限

    這篇文章主要介紹了如何在Apache和Nginx禁止上傳目錄里PHP的執(zhí)行權(quán)限的具體方法,非常簡單,有需要的小伙伴可以參考下
    2016-10-10
  • 如何配置apache虛擬主機的實例小結(jié)

    如何配置apache虛擬主機的實例小結(jié)

    如果你是第一次配置apache虛擬主機,那么通過閱讀這篇文章你將會了解到如何實現(xiàn)apache虛擬主機配置。其實要配置好一臺虛擬主機沒有想象中那么難
    2014-01-01
  • windows10安裝ubuntu20.04雙系統(tǒng)詳細(xì)圖文教程

    windows10安裝ubuntu20.04雙系統(tǒng)詳細(xì)圖文教程

    這篇文章主要介紹了windows10安裝ubuntu20.04雙系統(tǒng)詳細(xì)圖文教程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • CentOS7?防火墻firewall的操作命令大全

    CentOS7?防火墻firewall的操作命令大全

    大家好,本篇文章主要講的是CentOS7?防火墻(firewall)的操作命令大全,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下哦
    2021-11-11
  • Angular.JS中指令的命名規(guī)則詳解

    Angular.JS中指令的命名規(guī)則詳解

    這篇文章主要給大家介紹了關(guān)于Angular.JS中指令命名規(guī)則的相關(guān)資料,文中介紹的非常詳細(xì),對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。
    2017-05-05
  • 在Centos上搭建Maven中央倉庫的方法

    在Centos上搭建Maven中央倉庫的方法

    這篇文章主要介紹了在Centos上搭建Maven中央倉庫的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04

最新評論