1. win7系統 我在配置iis+php環境的時候在田間模塊映射的時候發現找不到FastCgiMole模塊。,怎麼解決。謝謝
原因:設置錯誤造成的。解決方法:嘗試添加新功能配置來解決此問題。
如下參考:
1.第一個右鍵點擊開始菜單,點擊管理工具,找到伺服器管理器點擊打開,如下圖。
2. windows下nginx+php fastcgi 會自動退出,怎麼破
我寫了一個軟體,監控PHP-cgi進程的,如下,我正在用。同時解決了控制台啟動一直顯示控制台問題,我這樣是沒有控制台的,軟體可以縮小到托盤圖標里,不礙眼。
想了下,還是發出來吧,以後我肯定要加好多功能的,目前伺服器還沒太懂配置nginx Apache php等
易語言源碼:http://oss.itgowo.com/download/project/php-cgi-manager/%E6%9C%8D%E5%8A%A1%E7%AE%A1%E7%90%86.e
程序:http://oss.itgowo.com/download/project/php-cgi-manager/%E7%AE%A1%E7%90%86%E8%BD%AF%E4%BB%B6.exe
3. 如何配置apache以fastcgi模式運行php
第一步:下載安裝的文件
1. Apache 版本 httpd-2.2.21-win32-x86-no_ssl.msi
2. mod_fcgid 版本 mod_fcgid-2.3.6-win32-x86.zip
3. MySQL 版本 mysql-5.5.19-win32.msi
4. PHP 版本 php-5.3.5-nts-Win32-VC6-x86.zip
提示:
1. 建議選擇無SSL功能的Apache版本來完成開發,我們這里使用了httpd-2.2.21-win32-x86-no_ssl.msi。
2. 建議選擇由Apache官方所提供的mod_fcgid 作為FastCGI模塊。我們這里使用目前最新版本2.3.6。 mod_fcgid官方地址
3. Windows下安裝MySQL就選擇.msi安裝包格式,我們選擇了mysql-5.5.19-win32.msi ,雙擊根據向導安裝即可,簡單方便。
4. PHP我們選擇用php-5.3.5-nts-Win32-VC6-x86.zip 這個版本。這個是nts(非線程安全)版本,是針對PHP的FastCGI安裝方式。
第二步:安裝文件
1. 在要安裝的磁碟建一個文件夾。為了以後管理方便我們在D盤的根目錄下創建一個WAMP文件夾。 D:\WAMP(WAMP是 windows+apache+mysql+php的縮寫)。
2. 在WAMP文件夾下創建一個WWW文件夾,用來存放你的PHP網站程序。D:\WAMP\WWW。
3. 安裝Apache伺服器,把Apache伺服器安裝到 D:\WAMP\Apache 文件夾。具體Apache安裝過程可以參考文檔 Apache安裝圖解。
4. 把下載的php-5.3.5-nts-Win32-VC6-x86 解壓到 D:\WAMP\PHP 文件夾。
5. 安裝MySql資料庫,把MySQL安裝到 D:\WAMP\MySQL文件夾。具體MySQL安裝過程可以參考文檔MySQL安裝圖解。
第三步:配置 Apache
首先使用文本編輯工具(推薦 EditPlus )打開 D:\WAMP\Apache\conf\httpd.conf 文件,這個文件是Apache的配置文件,下面幾步都是在修改這個文件的內容。
要注意的是修改完 httpd.conf 文件需重新啟動Apache服務,新設置才會生效。
1. 設置監聽埠
打開 httpd.conf 文件後,找到 Listen(大概在第46行),將它後面的數字改為8080,如下:
Listen 8080
這個參數用來設置Apache伺服器的監聽埠,一般默認為80。修改為8080 是為了避免和Windows 2003系統的IIS埠號沖突,如果你沒有啟用IIS,也可以使用默認的80埠號。
2. 修改網站存放目錄
我們知道Apache默認的網站存放目錄為Apache安裝目錄下的htdocs文件夾。當你更改網站存放目錄,就必須修改相應的Apache配置。
在配置文件 httpd.conf 中查找 DocumentRoot,將其修改為指向網站目錄的正確文件夾。我們這里改為
DocumentRoot "D:/WAMP/www"
同時,查找 This should be changed to whatever you set DocumentRoot to,在它下面有行 <Directoy 默認的DocumentRoot >,將其修改為你自己配置的DocumentRoot 路徑。我們這里修改為:
<Directory "D:/WAMP/www">
3. mod_fcgid 配置
我們將下載的 mod_fcgid-2.3.6-win32-x86.zip 壓縮包中的「mod_fcgid.so」文件復制到apache的「moles」目錄。
打開 httpd.conf 文件,在最後加入如下配置:
LoadMole fcgid_mole moles/mod_fcgid.so
<IfMole mod_fcgid.c>
AddHandler fcgid-script .fcgi .php
#php.ini的存放目錄
FcgidInitialEnv PHPRC "D:/WAMP/PHP"
# 設置PHP_FCGI_MAX_REQUESTS大於或等於FcgidMaxRequestsPerProcess,防止php-cgi進程在處理完所有請求前退出
FcgidInitialEnv PHP_FCGI_MAX_REQUESTS 1000
#php-cgi每個進程的最大請求數
FcgidMaxRequestsPerProcess 1000
#php-cgi最大的進程數
FcgidMaxProcesses 5
#最大執行時間
FcgidIOTimeout 120
FcgidIdleTimeout 120
#php-cgi的路徑
FcgidWrapper "D:/WAMP/PHP/php-cgi.exe" .php
AddType application/x-httpd-php .php
</IfMole>
修改DocumentRoot 路徑的配置為:
<Directory "D:/WAMP/WWW">
Options Indexes FollowSymLinks ExecCGI
Order allow,deny
Allow from all
AllowOverride All
</Directory>
注意:上面紅色文字部分。在option中添加一個屬性ExecCGI
4. 修改目錄首頁文件
在配置文件 httpd.conf 中查找 DirectoryIndex index.html 將其修改成:
DirectoryIndex index.html index.htm index.php
DirectoryIndex 指的是當客戶瀏覽器訪問的路徑是一個目錄時,Apache默認執行的文件。
以我們所修改的為例:當客戶瀏覽器訪問一個目錄時,Apache會去找該目錄下的index.html,如果沒有再找index.htm,還沒有再找 index.php。都找不到則默認顯示該目錄下的文件列表。參考文檔:如果防止Apache顯示文件列表
第四步:配置PHP
打開PHP安裝目錄,即D:\WAMP\PHP,我們可以看到目錄下有兩個這樣的文件 php.ini-development 和 php.ini-proction,第一個是開發使用的配置文件,第二個是生產環境的配置,因為我們是在本機做開發,所以選擇前者。將php.ini-development復制一份到同目錄下,並改名為 php.ini。這個php.ini 就是當前使用的配置文件,以下幾步都是在修改這個php.ini文件的內容。要注意的是,修改php.ini文件後需重新啟動Apache服務,新設置才會生效。
1. 指定PHP擴展庫的存放目錄
在Windows下PHP的擴展庫通常以 DLL 形式存放在PHP的ext目錄中。
使用文本工具打開php.ini文件,查找extension_dir = "ext",也就是在 On windows 下面那一行。把它前面的分號「;」去除掉,改為如下:
extension_dir = "D:/WAMP/PHP/ext"
extension_dir 表示PHP擴展庫的具體目錄,以便調用相應的DLL文件。
2. 開啟相應的擴展庫
默認情況下許多PHP的擴展庫都是關閉的,比如默認PHP不支持連接Mysql資料庫,需開啟相應的擴展庫。
這里我們開啟一些常用的擴展庫。
查找 ; Windows Extensions(大概在941行),在它的下面是extension列表。
找到如下擴展:
;extension=php_curl.dll
;extension=php_gd2.dll
;extension=php_mbstring.dll
;extension=php_exif.dll
;extension=php_mysql.dll
;extension=php_mysqli.dll
;extension=php_pdo_mysql.dll
;extension=php_pdo_odbc.dll
;extension=php_sockets.dll
;extension=php_xmlrpc.dll
;extension=php_xsl.dll
把以上extension 前面的分號 「;」 去掉。如果你希望載入其它擴展模塊,方法相同,只要去掉前面的分號即可。
提示1:重啟Apache提示 「unable to load dynamic library......php_curl.dll」,載入php_curl.dll錯誤。解決方法是拷貝 PHP 目錄下的 libeay32.dll 和 ssleay32.dll 到 windows 目錄或 windows/system32 目錄下,只要是系統 Path 環境變數里包含的路徑就可以。如果不想拷貝,你也可以直接把 PHP 路徑放到系統 Path 環境變數里。 右擊我的電腦=>屬性=>高級=>環境變數=>系統變數里有個Path,雙擊打開,把你的PHP路徑加個分號「;」再前面( ;D:\WAMP\PHP ),添加進去就OK了。重啟Apache不再提示該錯誤。
提示2:Exif 擴展是用來顯示圖片的 exif 信息的,因為該擴展需要 mbstring.dll 支持,所以必須將 extension=php_exif.dll 這一行寫到extension=php_mbstring.dll 的後面。
提示3:如果PHP自帶的擴展庫不能滿足你的需要,你可以去 pecl.php.net 查找並下載你需要的庫。windows用戶可以去 pecl4win.php.net 或者 http://downloads.php.net/pierre/ 下載已經編譯好的DLL文件,也可以去http://museum.php.net/php5/ 載PECL集合壓縮包。
提示4:很多人在找php_zip.dll,其實從php5.3開始已經集成了zip擴展,你可以用<?php phpinfo() ?> 找到zip擴展的說明。
3. 讓PHP支持短標簽
在 php.ini 配置文件查找 short_open_tag = Off (大概在266行)把它修改成:short_open_tag = On 讓其支持短標簽。
php的代碼一般包含在<?php .... ?>的標簽內,設置 short_open_tag = On 之後,可以寫成更簡潔的形式:<? .... ?>。
4. 配置PHP的Session功能
在使用session功能時,我們必須配置session文件在伺服器上的保存目錄。我們需要為session建立一個可讀寫的目錄,這個目錄最好獨立於網站目錄之外。
這里把目錄上建在了D:\WAMP\sessiontmp,然後在 php.ini 配置文件中找 ;session.save_path = "/tmp" (大概在1467行),去掉前面的分號「;」 ,改為如下:
session.save_path = "D:/WAMP/sessiontmp"
4. windows10下面的apache2.4和php7怎樣用fastcgi
以 FastCGI 模式運行 PHP 有幾個主要的好處。首先就是 PHP 出錯的時候不會搞垮 Apache,只是 PHP 自己的進程當掉(但 FastCGI 會立即重新啟動一個新 PHP 進程來代替當掉的進程)。其次 FastCGI 模式運行 PHP 比 ISAPI 模式性能更好。
FastCGI可以讓PHP的進程重復利用而不是每一個新的請求就重開一個進程。同時FastCGI也可以允許幾個進程同時執行。這樣既解決了CGI進程模式消耗太大的問題,又利用上了CGI進程模式不存在線程安全問題的優勢。
5. Win2008 IIS7,無緣無故的FastCGI(php-cgi)佔用過高如下圖,參數調整如下圖:
方法/步驟
1、首先安裝IIS 7,下載PHP Manager(請網路搜索下載,坑爹的不允許發鏈接),請根據自己的系統選擇32位或者64位下載。安裝步驟就不截圖了,一路按next就好了。安裝完後在IIS管理器裡面就能看到PHP Manager了。
2、下載php5.3以上版本。在選擇版本時有
3、Thread Safe和Non Thread Safe之分。Non Thread Safe就是非線程安全,Thread Safe 是線程安全。在windows+IIS平台選擇Non Thread Safe版本的PHP,並選擇V9以上的版本。本文以64位V11 Non Thread Safe 5.5.14版本為例:
4、解壓PHP 5.5壓縮包到某個文件夾中(本文以D:\PHPweb\PHP),打開IIS管理器,雙擊「PHP Manager」:
5、點擊「Register New PHP Version」,在彈出框裡面選擇PHP目錄下的php-cgi.exe文件,點擊確認後就能看到PHP的相關信息:
6、重啟IIS,PHP運行環境就配置成功了。出現「FastCGI進程意外退出」如何解決?在DOS下輸入命令「D:\PHPweb\PHP\php.exe -v」,根據提示做相應的修改即可。小編在運行命令後提示「缺失msvcp110.dll」,在36X衛士中「人工服務」直接修復了。
6. php fastcgi 要不要安裝啊
windowsIIS環境下使用php環境是需要fastCGI,apache環境下就不用了
7. windows系統上iis+fastcgi+php跟nginx哪個好
肯定是nginx好,並發性能好,資料也多,如果以後遷移到linux平台也差不多,因為linux下也有nginx,但是沒IIS.
8. php5.3.2如何設置fastcgi
第一步:iis6.0環境配置,這里不多介紹
第二步:下載php5.3.2的windows壓縮版本:php-5.3.2-nts-Win32-VC9-x86.zip
1、下載地址:http://windows.php.net/download/,選擇VC9 x86 Non Thread Safe。有關PHP版本說明
2、把php-5.3.2-nts-Win32-VC9-x86.zip解壓縮到D:\PHP
3、修改PHP.ini
extension_dir = 「D:\php\ext」 指向php文件夾下放置「php_*.dll」文件的路徑
magic_quotes_gpc = On 如果是 Off,一定要打開為 On,這是防止sql攻擊的重要的一步!5.0版本已經默認 On 了
register_globals=Off 改為 register_globals=On ,使傳遞全局變數有效;
short_open_tag =Off,把off改成On ,此處一般能解決運行安裝Discuz!論壇時出現空白的問題
然後再查找以下字元串,把代碼前的分號去掉。
extension=php_mbstring.dll 這個不選的話用phpMyAdmin會出現紅色提示
extension=php_dba.dll
extension=php_dbase.dll
extension=php_filepro.dll可選
extension=php_gd2.dll支持GD庫的,一般要滴
extension=php_imap.dll 可選
extension=php_ldap.dll
extension=php_mysql.dll支持MySQL的
接下來修改了一些文件上傳以及內存使用最大限制:
memory_limit = 20M 內存容量
post_max_size = 20M 快閃記憶體容量
upload_max_filesize = 20M 附件容量
第三步:下載安裝 Microsoft FastCGI Extension for IIS 5.1 and 6.0
1、下載地址:
http://www.iis.net/download/fastcgi
http://download.microsoft.com/download/E/0/C/E0C0709A-66E5-4113-9A6C-A5F65BF6717D/fcgisetup_1.5_rtw_x86.msi
2、安裝fcgisetup_1.5_rtw_x86.msi
3、配置fcigext.ini (在%WINDIR%\system32\inetsrv 目錄里)
在fcigext.ini 末尾添加如下內容即可:
[Types]
php=PHP
[PHP]
ExePath=D:\php\php-cgi.exe (PHP目錄)
4、配置FastCGI 擴展與PHP 協同工作
右擊「網站」選擇「屬性」,
單擊「主目錄」選項,點擊「配置」按鈕,
單擊」添加「按鈕,
單擊」瀏覽「 在 %WINDIR%\system32\inetsrv 里尋找fcgiext.dll 。
在擴展名里輸入 .php ,
動作選擇」限制為「,輸入」GET,HEAD,POST「。
確認」腳本引擎「和」檢查文件是否存在「是否選擇,
如沒選中,請選中。
確認無誤後,單擊「確定」。
第四步:寫個簡單的腳步測試PHP FastCGI 是否正常工作了。
在C:\Inetpub\wwwroot 目錄創建test.php 文件,打開Test.php,填寫如下內容:<?php phpinfo(); ?>
保存Test.php,重啟IIS,然後在瀏覽器地址欄里輸入http://localhost/Test.php 看是否正確。
9. 如何配置php伺服器
1. 安裝IIS
IIS是windows平台下比較成熟的web服務,安裝方法也非常簡單。
打開「開始」菜單,點擊「管理您的伺服器」,點擊「添加或刪除角色」(如圖所示)。
2
進入預備步驟後直接點下一步。到達了選擇角色的地方,選擇「應用程序服務(IIS,ASP.net)」
3
之後點擊下一步,出現附加組件的選擇,一個是FrontPage Server Extentions,另外一個是ASP.net,這兩項我們的環境中都不需要,不必選擇,如果有需要,可以選擇性安裝。進入下一步,是選項總結,再下一步,進入安裝過程,此時提示需要插入windows 2003(R2)的安裝光碟,插入光碟後,選擇光碟機所在驅動器下的I386,點擊確定,安裝過程將會繼續一直到結束,並且出現成功提示
4
完成後對IIS進行測試,打開「開始」菜單,點擊「所有程序」,進入「管理工具」,點擊「internet信息服務(IIS)管理器」
展開「網站」樹型節點,刪除默認網站,然後新建一個網站
5
進入向導後,進入下一步,為網站添加描述,也就是IIS中顯示的網站標示,可以隨便填寫,再進入下一步,為網站配置主機頭,我們是用來配置本地測試環境,所以把主機頭配置為127.0.0.1
6
進入下一步,選擇目錄,目錄需要提前建立好,然後選擇即可。繼續下一步,需要選擇網站許可權,這里只選擇讀取即可。之後便可完成網站新建向導了。
需要正常的瀏覽網站,還需要給網站的根目錄文件夾指定相應的許可權,首先在網站屬性中查看網站的匿名訪問賬戶是什麼,然後將這個賬戶設置到網站的根目錄文件夾,並設置相應的訪問許可權
7
網站的匿名訪問賬戶是:IUSR_CBLH-DDEF00B671,為文件夾設置用戶訪問許可權
8
許可權配置好後,在目錄中新建一個index.html文件,隨意輸入一些文字或者html代碼即可。
在網站名稱上右鍵,點擊屬性,進入「屬性」後點擊「文檔」選項卡,在此添加一個index.html和index.php(index.php添加好是為了待會不必再做配置),然後點擊「確定」或者「應用」保存配置。
然後在瀏覽器中的地址欄中輸入「http://localhost/」或者「http://127.0.0.1/」,即可看到剛才我們建立的index.html中的內容。
9
安裝fastcgi
IIS調試好後,就可以安裝fastcgi了,首先需要下載IISfastcgi,下載地址是(http://www.iis.net/download/FastCGI),安裝fastcgi非常簡單,只需要同意協議後連續點擊下一步即可,沒有任何選項。
10
安裝php
首先下載php在windows的安裝包,下載地址http://windows.php.net/downloads/releases/archives/,這里選用php-5.3.4-nts-Win32-VC9-x86.msi做例子。下載好php-5.3.4-nts-Win32-VC9-x86.msi後,雙擊文件安裝,接受使用協議後,為php填寫安裝目錄,這個目錄是可以更換的,指向需要放置它的位置即可。之後需要選擇web伺服器的安裝,這里選擇我們先前安裝的IIS fastcgi
11
下一步需要配置安裝選項,這里我們除了默認的選項之外增加了pear install(如圖所示)
12
再進入下一步,就可以確認安裝了。
完成安裝後,還需要測試一下php是否可用。
首先打開IIS管理器,然後在先前測試IIS的網站上右鍵,進入「屬性」,點擊主目錄選項卡,然後將「執行許可權」配置為「純腳本」
13
然後點擊旁邊的「配置」,查看是否有.php擴展名,如果沒有的話,需要添加一個新項,將可執行文件指向「C:WINDOWSsystem32inetsrvfcgiext.dll」,擴展名為「.php」(注意有個點),動作限制為「GET,HEAD,POST,TRACE」,點擊確定即可
步驟閱讀
14
做好了這些,就可以寫個小腳本來測試了,在網站的目錄中新建一個test.php文件,打開後輸入,保存後退出。在瀏覽器地址欄中輸入http://localhost/test.php,即可看到php信息了。
4. 安裝isapi_urlwriter ISAPI擴展組件
isapi_urlwriter ISAPI擴展組件主要用來做地址重寫,重寫後的虛擬靜態地址對搜索引擎更友好。先將ISAPI_Rewrite3安裝包解壓到指定的文件目錄中,然後進入網站屬性窗口,選擇窗口中的ISAPI篩選器選項卡,點擊添加按鈕,在彈出的窗口中選擇ISAPI_Rewrite3解壓目錄中的ISAPI_Rewrite.dll文件為可執行文件並確定。
END
iis7.5 PHP環境配置
1
windows server 2008是基於NT6 平台的新型操作系統,其對硬體性能的發揮比起其它NT平台來說有了質的飛躍,已經開始普及到了廣大用戶中,而且操作較2003來說更為直觀和簡單,受到越來越多的好評。在這里我們要介紹windows server 2008中的php環境搭建。
安裝IIS
windows server 2008的IIS版本為7.0,包括fastcgi,安裝十分方便。
打開「開始」菜單→「伺服器管理」,出現伺服器管理界面
2
在圖中黃色框中填入伺服器ip,點擊打開,之後提示輸入用戶名和密碼,驗證成功後完成登錄伺服器。
3
點擊「下一步」之後,需要選擇功能,這里需要比默認選項多增加一個「cgi」
4
點擊「下一步」,將會需要確認一下安裝的內容,此時點擊安裝,即可將IIS安裝在操作系統中。
安裝好IIS之後,需要進行一個測試,在瀏覽器地址欄中輸入「http://localhost/」,如果出現IIS7的歡迎頁則說明正常。接下來需要配置一個新網站,首先打開IIS管理器(「開始」→「所有程序」→「管理工具」→「internet 信息服務(IIS)管理器」)。
然後刪除默認網站,在主菜單中,展開網站菜單,然後再網站名稱上右鍵,點擊刪除即可
5
再新建一個網站,在「網站」上右擊,點擊添加網站,會出現信息網站添加的表單,首先輸入網站名稱,例如「stourwebcms」,路徑選擇為網站存放的路徑,單IP的伺服器可以不必選擇IP,主機頭填寫為localhost,然後點擊確定。
6
添加好網站後,需要為網站設置用戶訪問許可權。在iis管理器左邊的網站列表中選中網站,在右邊的操作列表中點擊「基本設置」,在彈出窗口中點擊「連接為」,彈出的窗口中會出現網站的默認用戶賬戶,也可以更改為其它的用戶。確定網站的用戶賬戶後,將此賬戶的訪問許可權設置到網站的根目錄文件夾上
打開網站目錄,新建一個index.html,然後用記事本打開,輸入「hello stourweb」後保存,並訪問本地地址「http://127.0.0.1」進行測試,網頁上顯示出了「hello stourweb」,說明配置成功。
7
安裝php
在前面已經提過,IIS7中不必單獨安裝fastcgi,所以,我們只需要下載php安裝包進行安裝即可,下載地址:http://windows.php.net/downloads/releases/archives/ 下載好後,打開安裝程序,經過引導,配置好路徑,來到選擇「web server setup」的地方,在這里我們選擇「IIS fastcgi」
8
然後點擊「next」按鈕,到了選擇安裝選項的步驟,一般安裝默認的就可以了,如果要添加的話需要點擊一下前面的磁碟小圖標,然後選擇安裝,第一項是只安裝選中的項目,第二項是安裝所有該項目的子項目。配置好後進入下一步
9
配置好後,點擊「next」然後點擊「install」即可安裝php。
當php安裝完成後會自動在iis的處理程序映射中增加一條fastcgi到php的映射關系
安裝完成後,我們還是需要測試一下,打開剛才新建的網站目錄,新建一個test.php文件,用記事本打開,輸入
<?php
echo phpinfo();
?>
保存退出,再從瀏覽器中訪問http://127.0.0.1/test.php
顯示出php信息,說明php環境安裝成功。
10
安裝isapi_urlwriter ISAPI擴展組件
isapi_urlwriter ISAPI擴展組件主要用來做地址重寫,重寫後的虛擬靜態地址對搜索引擎更友好。先將ISAPI_Rewrite3安裝包解壓到指定的文件目錄中,然後雙擊iis的ISAPI篩選器配置項,進入網站ISAPI組件配置窗口,點擊添加按鈕,在彈出的窗口中選擇ISAPI_Rewrite3解壓目錄中的ISAPI_Rewrite.dll文件為可執行文件並確定。
11
ISAPI_Rewrite3組件是一個32位的程序,因此在64位操作系統應用池進程下默認不工作,因此需要在網站所屬應用進程池的高級設置中將進程池設置為32位兼容
END
Mysql資料庫安裝
1
下載mysql(http://www.mysql.com),安裝過程比較簡單,首先配置路徑,然後選擇安裝選項,一般採用默認安裝的方式,之後會進入一個配置向導界面
步驟閱讀
2
連續下一步,需要選擇配置方式,這里選擇配置方式,我們需要手動配置,所以選擇detailed configuration,然後點擊「下一步」
3
這里需要選擇伺服器類型,如果是開發用的測試環境,選擇developer Machine ,如果是伺服器用,則選擇Server Machine,當然單一用途的伺服器還可以選擇dedicated mysql server machine。選擇好後進入下一步
4
接下來是選擇伺服器使用,第一個是多功能資料庫,可以使用 InnoDB engine和MyISAM engine。第二個選項,它的性能偏向於InnoDB,但是同時支持MyISAM engine。第三個選項是偏向於分析功能的MyISAM。至於這三個選項有什麼區別,其實只要知道,MyISAM類型的資料庫引擎可以為php提供強大的檢索和分析功能。InnoDB的性能則偏重於存儲。
所以如果只做web伺服器的話選擇第三項即可,如果是有其它用途,建議選擇第一項。
5
下一步需要選擇伺服器上的連接數量,這里如果是測試用的小伺服器可以選擇最少的第一項,如果是流量巨大的網站,需要選擇第二項,或者第三項自行填寫。
之後是網路連接的選項,「enable TCP/IP Networking」可以按照需求來選擇,如果不做集群的話可以把勾去掉,如果是在內網環境,不為mysql做路由規則是完全可以打開此項的。可以直接添加一個防火牆例外給3306埠。埠號可以選擇,但是推薦默認的3306。還有一項是是否開啟嚴謹模式,此項推薦勾選
6
點擊下一步,選擇默認字元集,這里選擇自定義的utf8字元集
7
進入下一步,需要設定windows選項,這里推薦安裝windows服務,並且自動啟動。第二個選項,如果有必要,可以選擇添加一個環境變數,可以方便命令行指向。
配置好後,進入下一步,需要為root用戶設定密碼,請設置一個比較復雜的密碼以增加安全性,另外請牢記自己設置的密碼,否則遺忘了後需要重置密碼十分麻煩。還有一個是否允許root用戶從遠程登錄的選項,此處最好不勾選,否則安全性將會降低。
到此配置就全部結束了,點擊下一步,會出現安裝總結,點擊「execute」執行安裝即可。
安裝成功後,我們依然需要對此進行測試。
在網站中新建一個測試php文件test.php,我們使用pdo鏈接mysql作為測試。
輸入
<?php
$db=new PDO("mysql:host=localhost;dbname=test","root","剛才設置的密碼");
if ($db)
{
echo "ok";
}
?>
訪問http://localhost/test.php,如果屏幕上列印出了ok,表示mysql安裝成功。
END
安全配置建議
1
安全軟體
一款好的安全軟體能有效防禦來自計算機病毒、惡意軟體和木馬的威脅,但能用於伺服器的安全軟體並不多,其中大部分都是收費的,平常個人所用的金山毒霸和360等不能安裝到windows server系列的伺服器操作系統上,但他們都有相應的伺服器版本並且提供免費升級,在他們的官網上面都能夠找到。
2
防火牆
合理的配置好防火牆能有效的阻止各種惡意入侵,因為各種網路入侵都是通過相應的網路埠完成的。網路埠是伺服器上的各種網路服務開啟的,他們對外提供各種網路服務,如http、ftp、smtp等。自己的伺服器上需要提供哪些網路服務就只開啟這些服務的相應埠,如伺服器上提供網站服務,就需要開啟http的80埠,如需要提供ftp服務就要開啟21埠;有些網路服務不需要對外提供服務就不應該開啟,如sql server資料庫不需要對外提供服務,就應該在防火牆中關閉掉1433埠。
Windows sever 2003和2008都自帶防火牆,其實能簡單有效的利用這些自帶的防火牆就能有效的完成埠的開閉管理。
l Windows server 2003伺服器防火牆配置
1) 滑鼠右鍵單擊「網上鄰居」,選擇「屬性」。
2) 然後滑鼠右鍵單擊「本地連接」,選擇「屬性」。如圖選擇「高級」選項,選中「Internet連接防火牆」,確定後防火牆即起了作用。
點擊「設置(G)...」按鈕可進行高級設置。其中列出了可用的網路服務,選中後允許其打開網路埠並通信,反之則關閉其網路通信;單擊「添加」則可以增加網路服務或打開指定的網路埠
3
Windows server 2008伺服器防火牆配置
1) 在控制面板中打開網路和共享中心
2) 點擊「windows防火牆」彈出防火牆配置窗口,在此窗口中要確認防火牆服務已經開啟
3) 單擊「允許程序或功能通過Windows防火牆」彈出網路服務埠配置窗口,在此窗口中可以選擇允許打開埠並通信的網路服務,單擊「允許運行另一程序」來自定義開啟某一網路服務或埠
4
用戶管理
系統中用戶的數量能越少越好,並且每個用戶都被用於特定的功能,如可以新建一個專門用於對網站進行匿名授權的賬戶(如條件允許,可以為每個網站新建一個獨立的賬戶進行分別授權,這些能夠隔離開各網站的授權,提高各網站的安全性,不至於一個網站被入侵後能夠有許可權訪問到其它網站的文件目錄)。另外最重要的一點是要為每個賬戶設置一個獨立且復雜的密碼,防止賬戶密碼被猜解和窮舉。
5
文件系統許可權管理
l C盤只給administrators 和system許可權,其他的許可權不給,其他的盤也可以這樣設置,這里給的system許可權也不一定需要給,只是由於某些第三方應用程序是以服務形式啟動的,需要加上這個用戶,否則造成啟動不了。
l Windows目錄要加上給users的默認許可權,否則ASP和ASPX等應用程序就無法運行。其實沒有必要單獨設置Instsrv和temp等目錄許可權。
l 另外在c:/Documents and Settings/這里相當重要,後面的目錄里的許可權根本不會繼承從前的設置,如果僅僅只是設置了C盤給administrators許可權,而在All Users/Application Data目錄下會 出現everyone用戶有完全控制許可權,這樣入侵這可以跳轉到這個目錄,寫入腳本或只文件,再結合其他漏洞來提升許可權;
譬如利用serv-u的本地溢出提升許可權,或系統遺漏有補丁,資料庫的弱點,甚至社會工程學等等N多方法,在用做web/ftp伺服器的系統里,建議是將這些目錄都設置的鎖死。其他每個盤的目錄都按照這樣設置,每個盤都只給adinistrators許可權。
另外,還將:
net.exe
cmd.exe
tftp.exe
netstat.exe
regedit.exe
at.exe
attrib.exe
cacls.exe
format.exe
這些文件都設置只允許administrators訪問。
l 網站的目錄最好獨立到一個磁碟中,新建一個為網站匿名訪問而獨立授權的賬戶,讓此賬戶可以訪問和編輯此目錄,移除其它不必要的賬戶對此目錄的訪問許可權,能有效防止網站被入侵後從而涉及到整個系統被控制
日常維護建議
1
定期運行安全軟體進行快速掃描
定期運行一下安全軟體,可以看到安全軟體的引擎或病毒庫是否已經更新到了最新版本,如果沒有可以即時查找原因,看是否是安全軟體未運行、升級埠被禁用或其它原因,雖然安全軟體可以在後台即時掃描各種文件操作,以防止病毒入侵,但有些惡意軟體、流氓軟體或插件則不是實時防護的,雖然這些軟體不會造成伺服器宕機,但也會影響伺服器性能。
2
定期檢查防火牆埠配置
隨著伺服器上的網路服務越來越多,需要打開的網路埠也越來越多,但有些埠是不需要開放的,例如你安裝了一個資料庫軟體(mysql、oracle等),這些資料庫服務很可能只需要在你伺服器的內部訪問,就完全沒有必要讓其通過防火牆,這樣能夠提高伺服器的安全,伺服器對外提供的埠越少越好;
雖然在安裝網路服務的過程中,防火牆會提示你有網路埠正在打開,是否允許通過防火牆,但有些管理員沒有細心看提示,直接就同意了,造成了大量沒有必要打開的網路埠被打開了,特別是一些木馬或惡意軟體會混水摸魚,偽裝提示信息來誘騙管理員打開網路埠,造成大量的安全隱患。進入防火牆配置界面,選擇相應的埠或網路服務,點擊「詳細信息」則可以看到此項應用的詳細信息,根據這些信息來判斷其是否應該開啟這個埠。
3
任務管理器中觀察有無可疑進程,了解系統資源使用情況
任務管理器可以簡單並快速的了解服務系統資源的使用情況,並即時查看系統運行的進程和他們佔用的系統資源,根據伺服器上已開啟的各種應用的服務來判斷哪些進程是非法的,哪些進程佔用的系統資源過多。了解到這些信息後就可以即時的對伺服器進行調整,特別是佔用資源過多的進程進行分析,看是否有什麼異常並即時進行調整。
l 觀察系統進程,並自定義進程屬性
4
查看網路使用情況
查看系統資源使用情況
檢查IIS,了解網站安裝情況
隨時了解伺服器上網站的安裝狀況,並做以下檢查:
1、看各個網站定義的主機頭是否異常
2、 綁定的域名是否完整
3、 主目錄設置是正確
4、用戶許可權設置是否合理
5、 查看IIS的應用程序池設置是否合理,每個池下面託管的網站是否過多,是否需要設置新的應用池,是否有多餘的應用池可以刪除。
查看系統日誌,仔細檢查錯誤、警告日誌發生的原因,並急時修復相應的問題。
檢查系統用戶,查看有無多餘,可疑用戶賬戶,查看每個賬戶所屬的用戶組,特別是administrators組下面的用戶。伺服器被入侵時會出現一些欺騙性的賬戶並被加入到administrators組中,特別留心新建的多餘賬戶,弄清這些賬戶的用途,如果發現是入侵者建立的賬戶,要即時查找賬戶是被創建的原因,並修復相應的漏洞。
檢查文件系統,確保磁碟被合理分區,各個分區應該有各自的功能,如系統、資料庫、網站、備份等。各個分區的用戶授權是不相同的,如系統、備份等不需要網站的專門授權賬戶訪問,資料庫分區需要對資料庫賬戶進行單獨的授權等。既然規劃好了文件分區和功能,並進行了相應的授權,就要防止文件被亂放,以免造成安全隱患。
還要經常檢查各種新建的文件夾和文件(特別是來歷不明,名稱畸形的隱藏文件夾和文件)這些都有可能是入侵者留下的入侵痕跡。
清除垃圾文件,隨時系統運行時間的增加,會產生很多的臨時文件和日誌文件,佔用寶貴的磁碟資源,如果磁碟的可用空間過小(特別是系統盤)還會影響伺服器性能。
1、臨時文件(安裝程序、系統升級、應用程序等產生的)產生的,主要在系統盤,可以看哪些文件夾的體積異常大,可分析其內部文件,確認是臨時文件後將其刪除
2、 日誌文件,主要是IIS產生的,這些日誌文件對於查看網站運行狀態、訪問歷史很有用,但日誌有時效性,如果超過其三個月就沒有什麼用處了,但它會佔用大量的磁碟空間,所以需要定期將其刪除。
定期檢查磁碟狀態並進行碎片整理,隨著系統運行時間的增長,特別是大量的IO操作後,磁碟上會產生大量的文件碎片,這些碎片過多則會嚴重影響伺服器性能,所以定期(建議一個月)進行磁碟碎片檢查,如果系統提醒需要進行碎片整理,則進行整理。
及時升級操作系統補丁,操作系統有各種大量的補丁,特別是一些重要的安全補丁需要即時升級,這樣會有效防止黑客和病毒入侵。
及時備份重要的文件、應用、資料庫。備份分為本地備份和異地備份,有條件的可以進行異地備份,備份是為了以防萬一,當數據丟失或應用損壞時,備份就是救命稻草,因此合理的備份計劃是非常有必要的。
不要隨意下載安裝來歷不明的軟體,特別是需要連接網路或需要打開埠的。現在網上許多的程序都內置有木馬或惡意程序,所以不要下載和安裝網上的不明軟體,特別是一些小網站的。
END
10. windows下nginx+php fastcgi 會自動退出,怎麼破
直接用php-cgi.exe運行是不穩定的,使用php-cgi.exe時需要一個CGI進程管理器,比如配合IIS使用的PHP Manager,Windows上最穩定的PHP運行方式還是IIS+PHP Manager+PHP-CGI(NTS).如果不想使用IIS,那還是用傳統的Apache+PHP吧.
Linux上的 Nginx + PHP-FPM 很穩定,但PHP-FPM和PHP-CGI是不一樣的程序,PHP-FPM有自己的進程管理器和工作進程,跟PHP-CGI無關.