999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于WampServer 環(huán)境的多版本PHP 網(wǎng)站群搭建

2019-04-03 01:39:06柏建明劉斌文董銀麟
現(xiàn)代計(jì)算機(jī) 2019年35期
關(guān)鍵詞:設(shè)置數(shù)據(jù)庫

柏建明,劉斌文,董銀麟

(中色(寧夏)東方集團(tuán)有限公司,石嘴山753000)

0 引言

WampServer(簡稱Wamp),就是Windows+Apache+MySQL+PHP 的網(wǎng)站搭建集成環(huán)境,即在Windows 下的Apache、MySQL 和PHP 的服務(wù)器軟件。在一臺(tái)服務(wù)器上的Apache 和MySQL 可以管理多個(gè)站點(diǎn)和數(shù)據(jù)庫,但要服務(wù)器同時(shí)兼容各種版本的PHP 程序代碼就顯得尤為費(fèi)勁。同一服務(wù)器上多個(gè)不同的網(wǎng)站可能使用不同版本的PHP 語言和插件,在網(wǎng)站集成環(huán)境中單一的設(shè)置PHP 版本號(hào),往往會(huì)影響個(gè)別站點(diǎn)的正常響應(yīng)和界面顯示,造成站點(diǎn)無法訪問。本文重點(diǎn)在不使用虛擬主機(jī)的物理主機(jī)上通過對(duì)Wamp 文件改寫和特別配置,實(shí)現(xiàn)多個(gè)版本PHP、不同的CMS(網(wǎng)站內(nèi)容管理系統(tǒng))站點(diǎn)同時(shí)在線運(yùn)行,解決服務(wù)器中已有低版本PHP 網(wǎng)站和新建高版本PHP 網(wǎng)站共存的問題。

單一CMS 管理下的網(wǎng)站群管理不涉及多版本PHP 問題,本文不做討論。本文中的網(wǎng)站群主要指同一主機(jī)中使用不同CMS 搭建、內(nèi)容可以完全獨(dú)立的多個(gè)網(wǎng)站。為方便說明,本文使用兩個(gè)WordPress CMS,安裝在不同子目錄下,以子目錄區(qū)分不同站點(diǎn),且分別啟用不同版本的PHP。本文中的虛機(jī)指的是WampServer 的一種多網(wǎng)站解析方式,不同于具有獨(dú)立操作系統(tǒng)的虛擬主機(jī)。本文涉及到的軟件版本號(hào):

WampServer 3.1.7,Apache 2.4.37,MySQL 5.7.24,PHP 5.6.40 及以上,fcgid 2.3.10。

1 WampServer安裝與配置

1.1 數(shù)據(jù)庫配置

安裝Wamp 前,必須先安裝VC2012、VC2013、VC2015 幾個(gè)必要的運(yùn)行庫。Wamp 安裝成功后,在右下角的系統(tǒng)托盤里右鍵點(diǎn)擊圖標(biāo)在菜單里設(shè)置為中文界面,左鍵點(diǎn)擊,將服務(wù)“切換到在線狀態(tài)”(此操作是直接改寫Apache 的配置文件httpd.conf)。

Options+Indexes+FollowSymLinks+Multiviews+ExecCGI

AllowOverride all

#由原來的Require local 更改為Require all granted

Require all granted

再選擇“phpMyAdmin”進(jìn)入MySQL 數(shù)據(jù)庫管理器(即登錄http://localhost/phpmyadmin/,可以在登錄時(shí)選擇MariaDB 數(shù)據(jù)庫,二者區(qū)別只在高版本MySQL 的使用有版權(quán)限制),初始賬號(hào)/密碼為:root/空。

新建網(wǎng)站群的管理員賬號(hào)webadmin,設(shè)置密碼webpassword。新建wordpress_one 數(shù)據(jù)庫和wordpress_two 數(shù)據(jù)庫(字符集與排序規(guī)則utf8mb4_unicode_ci),并在權(quán)限中將這兩個(gè)數(shù)據(jù)庫的權(quán)限賦予賬號(hào)webadmin,這兩個(gè)數(shù)據(jù)庫將分別用于下文中安裝的兩個(gè)網(wǎng)站。最后設(shè)置一下數(shù)據(jù)庫系統(tǒng)管理員root 的賬號(hào)密碼。

1.2 網(wǎng)站文件安裝

假設(shè)要建兩個(gè)域名分別為www.webone.com 和www.webtwo.com 的網(wǎng)站,將兩個(gè)WordPress 安裝包分別解壓放在Wamp 安裝子目錄“wamp64wwwwebone”和“wamp64wwwwebtwo”下,這兩個(gè)網(wǎng)站的數(shù)據(jù)庫分別對(duì)應(yīng)wordpress_one 和wordpress_two。

在 服 務(wù) 器 本 地 以 類 似“http://localhost/www/web_one/wp-admin/setup-config.php”的方式分別安裝子站。安裝時(shí)需要輸入以下信息(填寫數(shù)據(jù)庫的界面是英文,之后可以選擇語言,可能出現(xiàn)錯(cuò)誤提示“The site is experiencing technical difficulties”,刷新后繼續(xù)出現(xiàn)安裝畫面):

數(shù)據(jù)庫名:wordpress_one(網(wǎng)站www.webone.com 的數(shù)據(jù)庫);

用戶名:webadmin(網(wǎng)站群管理員賬號(hào));

用戶密碼:webpassword(網(wǎng)站群管理員賬號(hào)的密碼);

安裝完成后,后臺(tái)自動(dòng)將以上信息填入了Word-Press 配置文件wp-config.php 中。另一個(gè)網(wǎng)站以同樣的方式安裝。不同的CMS 有不同的安裝界面和配置文件,具體的安裝方式要參照其相應(yīng)的安裝說明進(jìn)行。

1.3 Wamp的多站點(diǎn)解析設(shè)置

服務(wù)器上有多個(gè)網(wǎng)站時(shí),需要Apache 建立網(wǎng)站域名和網(wǎng)站文件路徑對(duì)應(yīng)關(guān)系。通過圖形界面配置可以自動(dòng)對(duì)路徑“wamp64inapacheapache2.4.37confextra”下的httpd-vhosts.conf 文件添加相應(yīng)內(nèi)容。

如圖1 所示在虛機(jī)管理器的圖形界面(左鍵點(diǎn)擊面板的“Your”、“VirtualHost Management”,打開http://localhost/add_vhost.php)填寫網(wǎng)站www.webone.com 域名和網(wǎng)站目錄信息(注意路徑中是反斜杠),生成httpdvhosts.conf 文件,同時(shí)自動(dòng)生成了本地hosts 文件的站點(diǎn)域名解析。另一個(gè)網(wǎng)站也做類似設(shè)置。

圖1 配置網(wǎng)站www.webone.com的虛機(jī)管理

這樣生成的文件配置里,只能本地訪問網(wǎng)站的。可以在執(zhí)行以上操作前,修改路徑“wamp64www”下的文件add_vhost.php。

ServerName{$vh_name}

DocumentRoot"{$vh_folder}"

Options+Indexes+Includes+FollowSymLinks+MultiViews

AllowOverride All

#由原來的Require local 更改為Require all granted

Require all granted

此設(shè)置可以使虛機(jī)管理器在自動(dòng)生成httpdvhosts.conf 文件時(shí),直接填寫“Require all granted”語句而具有非本地訪問權(quán)限。如果不對(duì)此文件預(yù)先修改,則需要手動(dòng)去將httpd-vhosts.conf 文件中的網(wǎng)站訪問權(quán)限改為“Require all granted”。

2 Wamp網(wǎng)站群多版本PHP配置

多站點(diǎn)實(shí)現(xiàn)多版本PHP 運(yùn)行的核心方法是使用Apache 的mod_fcgid 模塊,mod_fcgid 模塊是Apache 的FastCGI 實(shí)現(xiàn),在Apache 的2.4 以后的版本中得到支持。FastCGI 是語言無關(guān)的、可伸縮架構(gòu)的CGI 開放擴(kuò)展,其主要行為是讓CGI 解釋器進(jìn)程常駐內(nèi)存并接受FastCGI 進(jìn)程管理器調(diào)度,因此獲得較高的性能。

2.1 安裝加載fcgid模塊

下載fcgid 文件包mod_fcgid-2.3.10-win64-VS16.zip(下載地址https://www.apachelounge.com/download/),解壓后將其中的mod_fcgid.so 文件復(fù)制到服務(wù)器中Apache 模 塊 目 錄 里( 如 C:wamp64inapacheapache2.4.37modules)。然后在httpd.conf 文件中加載相應(yīng)的模塊,添加語句LoadModule fcgid_module modules/mod_fcgid.so(最好和其他LoadModule 語句放在一起)。

2.2 修改httpd.conf文件

引入fcgid 后,需要進(jìn)一步對(duì)fcgid 的運(yùn)行參數(shù)進(jìn)行配置。左鍵點(diǎn)擊系統(tǒng)托盤中Wamp 的Apache 菜單,打開httpd.conf 文件(wamp64inapacheapache2.4.37conf),修改或添加以下內(nèi)容:

#在下面的語句末尾添加“+ExecCGI”,允許該目錄下使用CGI 解釋器(也可以在httpd-vhosts.conf 文件的每個(gè)主機(jī)里單獨(dú)添加)

Options+Indexes+FollowSymLinks+Multiviews+ExecCGI

AllowOverride all

Require all granted

在以上模塊之后添加下面的模塊內(nèi)容,保證在啟用fcgid 之后能正常登錄MySQL 數(shù)據(jù)庫。

Options+Indexes+FollowSymLinks+Multiviews+ExecCGI

AllowOverride all

Require all granted

在httpd.conf 文件末尾添加以下模塊的所有內(nèi)容,確定執(zhí)行fcgid 時(shí)的主要參數(shù)。

#添加映射將文件擴(kuò)展名映射到指定的處理程序

AddHandler fcgid-script.fcgi.php

#設(shè)置PHP_FCGI_MAX_REQUESTS 大于或等于Fcgid-MaxRequestsPerProcess,防止php-cgi 進(jìn)程在處理完所有請(qǐng)求前退出

FcgidInitialEnv PHP_FCGI_MAX_REQUESTS 1000

#設(shè)置php-cgi 每個(gè)進(jìn)程的最大請(qǐng)求數(shù)

FcgidMaxRequestsPerProcess 1000

#設(shè)置php-cgi 最大進(jìn)程數(shù)

FcgidMaxProcesses 5

#設(shè)置fcgid 的通信超時(shí)時(shí)間

FcgidIOTimeout 120

#超時(shí)終止空閑fcgid 程序

FcgidIdleTimeout 120

#設(shè)置啟用fcgid 后上傳附件的大小值(單位是字節(jié)),如下16777216=16M

FcgidMaxRequestLen 16777216

#指定運(yùn)行默認(rèn)PHP 版本時(shí)的php.ini 配置文件所在的文件夾路徑

FcgidInitialEnv PHPRC "C:/wamp64/bin/apache/apache2.4.37/bin"

#指定默認(rèn)PHP 版本,同wamp 面板中設(shè)置的PHP 版本保持一致

FcgidWrapper "C:/wamp64/bin/php/php5.6.40/php-cgi.exe" .

php

#指定可執(zhí)行PHP 代碼的文件類型

AddType application/x-httpd-php.php

2.3 修改httpd-vhosts.conf文件

修改httpd-vhosts.conf 文件,針對(duì)具體的網(wǎng)站指定不同版本的PHP。打開路徑“wamp64inapacheapache2.4.37confextra”下的httpd-vhosts.conf 文件(即圖1 生成的配置文件),對(duì)網(wǎng)站www.webone.com 和www.webtwo.com 的配置信息做如下內(nèi)容添加。

ServerName www.webone.com

DocumentRoot"c:/wamp64/www/webone"

#添加以下兩條語句,指明網(wǎng)站www.webone.com 運(yùn)行php7.0.33 版本,

FcgidInitialEnv PHPRC"C:/wamp64/bin/php/php7.0.33"

FcgidWrapper "C:/wamp64/bin/php/php7.0.33/php-cgi.exe" .php

Options+Indexes+Includes+FollowSymLinks+MultiViews

AllowOverride All

Require all granted

#

ServerName www.webtwo.com

DocumentRoot"c:/wamp64/www/webtwo"

#添加以下兩條語句,指明網(wǎng)站www. webtwo.com 運(yùn)行php7.3.1 版本

FcgidInitialEnv PHPRC"C:/wamp64/bin/php/php7.3.1"

FcgidWrapper "C:/wamp64/bin/php/php7.3.1/php- cgi.exe" .php

Options+Indexes+Includes+FollowSymLinks+MultiViews

AllowOverride All

Require all granted

這兩個(gè)網(wǎng)站指定了不同版本的PHP 解釋器,對(duì)各自的代碼和插件有不同的兼容性和特點(diǎn)。這里指定了PHP 較高的版本,如果這里不特別指明PHP 版本,則網(wǎng)站默認(rèn)運(yùn)行系統(tǒng)設(shè)置里指定的低版本PHP 5.6.40,以便適應(yīng)較舊的網(wǎng)站。

3 結(jié)語

相對(duì)于在服務(wù)器上啟用多個(gè)Web 服務(wù)器(例如Apache 和IIS)分別配置或以虛擬主機(jī)方式隔離網(wǎng)站主體的方式,本方法僅使用Apache 服務(wù)器并引入fcgid模塊來解決多網(wǎng)站的PHP 版本沖突問題,配置方式簡單且系統(tǒng)運(yùn)行穩(wěn)定,避免了多Web 服務(wù)器的干擾影響,也避免使用虛擬主機(jī)造成系統(tǒng)資源消耗過大。非常適合集團(tuán)性企業(yè)的子分公司各門戶網(wǎng)站統(tǒng)一管理,也適合網(wǎng)站托管集成商有效提高云資源利用率。

猜你喜歡
設(shè)置數(shù)據(jù)庫
中隊(duì)崗位該如何設(shè)置
7招教你手動(dòng)設(shè)置參數(shù)
數(shù)據(jù)庫
數(shù)據(jù)庫
數(shù)據(jù)庫
數(shù)據(jù)庫
數(shù)據(jù)庫
本刊欄目設(shè)置說明
中俄臨床醫(yī)學(xué)專業(yè)課程設(shè)置的比較與思考
艦船人員編制的設(shè)置與控制
主站蜘蛛池模板: 在线播放精品一区二区啪视频| 波多野结衣中文字幕一区二区| 国产精品久久精品| 一个色综合久久| 国产一区二区人大臿蕉香蕉| 久久综合激情网| 亚洲国产高清精品线久久| 国产视频一二三区| 无码aaa视频| 综合色区亚洲熟妇在线| 国产肉感大码AV无码| 午夜无码一区二区三区| 国产精品尤物铁牛tv| 国产亚洲视频在线观看| 日本伊人色综合网| 国产白浆视频| 欧美爱爱网| 欧美日韩精品在线播放| 亚洲天堂在线免费| 国产精品黑色丝袜的老师| 一级在线毛片| 欧美一区二区福利视频| 国产高清在线观看| 亚洲精品成人片在线观看| 久久国产精品无码hdav| 国产男人天堂| 黄色网在线免费观看| 人妻无码一区二区视频| 亚洲性一区| 国产欧美网站| www.亚洲一区| 99久久亚洲精品影院| 亚洲精品波多野结衣| 国产在线专区| 日韩亚洲综合在线| 色偷偷男人的天堂亚洲av| 国产九九精品视频| 在线高清亚洲精品二区| 在线视频亚洲色图| 亚洲欧美国产五月天综合| 欧美一级大片在线观看| 国产极品嫩模在线观看91| 婷婷亚洲视频| 8090成人午夜精品| 日韩区欧美区| 欧美一区二区人人喊爽| 国产精品夜夜嗨视频免费视频| 亚洲色图欧美在线| 国产精品hd在线播放| 欧美日韩激情| 欧美日韩国产精品va| 国产电话自拍伊人| 国产精品无码一区二区桃花视频| 99视频在线免费观看| 亚洲综合中文字幕国产精品欧美| 玖玖免费视频在线观看 | 亚洲成人高清无码| 色AV色 综合网站| 色悠久久久久久久综合网伊人| 久热这里只有精品6| 巨熟乳波霸若妻中文观看免费| 亚洲视频无码| 亚洲熟女中文字幕男人总站| 欧美高清国产| 欧美一区二区三区国产精品| 19国产精品麻豆免费观看| 亚洲妓女综合网995久久| 中文字幕免费视频| 国产区在线看| 国产免费精彩视频| 日本欧美一二三区色视频| 国产精品免费久久久久影院无码| 国产午夜小视频| 亚洲无码高清视频在线观看| 欧美精品在线观看视频| 亚洲欧洲美色一区二区三区| 国产一级二级三级毛片| 欧美第一页在线| 亚洲欧洲日本在线| 久久精品波多野结衣| 亚洲人精品亚洲人成在线| 一本二本三本不卡无码|