『壹』 如何架設Nginx+Php Web伺服器
Nginx ("engine x") 是一個高性能的 HTTP 和 反向代理 伺服器,也是一個 IMAP/POP3/SMTP 代理伺服器。 Nginx 是由 Igor Sysoev 為俄羅斯訪問量第二的 Rambler.ru 站點開發的,它已經在該站點運行超過兩年半了。Igor 將源代碼以類BSD許可證的形式發布。盡管還是測試版,但是,Nginx 已經因為它的穩定性、豐富的功能集、示例配置文件和低系統資源的消耗而聞名了。
本文是W3CGROUP在成功架設Nginx+Php Web伺服器之後的一個總結,成功設置Nginx開啟多域名多站點,並且不會出現502 Bad Gateway錯誤!
本文測試環境如下:
系統環境
Linux version 2.6.9(CentOS release 4.7(Final))
軟體環境
nginx-0.6.35.tar.gz
安裝步驟
一、 編譯安裝PHP5.2.9所需的支持庫
tar zxvf libiconv-1.13.tar.gzcd libiconv-1.13/./configure --prefix=/usr/localmakemake installcd ../
tar zxvf libmcrypt-2.5.8.tar.gzcd libmcrypt-2.5.8/./configuremakemake install/sbin/ldconfigcd libltdl/./configure --enable-ltdl-installmakemake installcd ../../
tar zxvf mhash-0.9.9.9.tar.gzcd mhash-0.9.9.9/./configuremakemake installcd ../
ln -s /usr/local/lib/libmcrypt.la /usr/lib/libmcrypt.laln -s /usr/local/lib/libmcrypt.so /usr/lib/libmcrypt.soln -s /usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4ln -s /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib/libmcrypt.so.4.4.8ln -s /usr/local/lib/libmhash.a /usr/lib/libmhash.aln -s /usr/local/lib/libmhash.la /usr/lib/libmhash.laln -s /usr/local/lib/libmhash.so /usr/lib/libmhash.soln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1
tar zxvf mcrypt-2.6.8.tar.gzcd mcrypt-2.6.8//sbin/ldconfig./configuremakemake installcd ../
二、編譯安裝Mysql 5.1.34擴展庫
/usr/sbin/groupadd mysql/usr/sbin/useradd -g mysql mysqltar zxvf mysql-5.1.34.tar.gzcd mysql-5.1.34/./configure --prefix=/usr/local/webserver/mysql/ --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client --with-big-tables --with-readline --with-ssl --with-embedded-server --enable-local-infile --with-plugins=innobasemake && make installchmod +w /usr/local/webserver/mysqlchown -R mysql:mysql /usr/local/webserver/mysqlcd ../
MySql的安裝此處就省略
三、編譯安裝PHP(FastCGI模式)
tar zxvf php-5.2.9.tar.gzgzip -cd php-5.2.9-fpm-0.5.10.diff.gz | patch -d php-5.2.9 -p1cd php-5.2.9/./configure --prefix=/usr/local/webserver/php --with-config-file-path=/usr/local/webserver/php/etc --with-mysql=/usr/local/webserver/mysql --with-mysqli=/usr/local/webserver/mysql/bin/mysql_config --with-iconv-dir=/usr/local --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-discard-path --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fastcgi --enable-fpm --enable-force-cgi-redirect --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-ldap --with-ldap-saslmake ZEND_EXTRA_LIBS='-liconv'make installcp php.ini-dist /usr/local/webserver/php/etc/php.inicd ../
四、修改php-fpm配置文件
rm -f /usr/local/webserver/php/etc/php-fpm.confvi /usr/local/webserver/php/etc/php-fpm.conf
輸入以下內容:
<?xml version="1.0" ?><configuration><section name="global_options"><value name="pid_file">/usr/local/webserver/php/logs/php-fpm.pid</value><value name="error_log">/usr/local/webserver/php/logs/php-fpm.log</value><value name="log_level">notice</value><value name="emergency_restart_threshold">10</value><value name="emergency_restart_interval">1m</value><value name="process_control_timeout">5s</value><value name="daemonize">yes</value></section><workers><section name="pool"><value name="name">default</value><value name="listen_address">127.0.0.1:9000</value><value name="listen_options"><value name="backlog">-1</value><value name="owner"></value><value name="group"></value><value name="mode">0666</value></value><value name="php_defines"><value name="sendmail_path">/usr/sbin/sendmail -t -i</value><value name="display_errors">1</value></value><value name="user">www</value><value name="group">www</value><value name="pm"><value name="style">static</value><value name="max_children">128</value><value name="apache_like"><value name="StartServers">20</value><value name="MinSpareServers">5</value><value name="MaxSpareServers">35</value></value></value><value name="request_terminate_timeout">0s</value><value name="request_slowlog_timeout">0s</value><value name="slowlog">logs/slow.log</value><value name="rlimit_files">51200</value><value name="rlimit_core">0</value><value name="chroot"></value><value name="chdir"></value><value name="catch_workers_output">yes</value><value name="max_requests">500</value><value name="allowed_clients">127.0.0.1</value><value name="environment"><value name="HOSTNAME">$HOSTNAME</value><value name="PATH">/usr/local/bin:/usr/bin:/bin</value><value name="TMP">/tmp</value><value name="TMPDIR">/tmp</value><value name="TEMP">/tmp</value><value name="OSTYPE">$OSTYPE</value><value name="MACHTYPE">$MACHTYPE</value><value name="MALLOC_CHECK_">2</value></value></section></workers></configuration>
五、創建www用戶組及www用戶
/usr/sbin/groupadd www/usr/sbin/useradd -g www www
六、編譯安裝Nginx
tar zxvf nginx-0.6.35.tar.gzcd nginx-0.6.35/默認安裝:./configuremake && make install默認情況下,Nginx 會被安裝在 /usr/local/nginx。通過設定編譯選項,你可以改變這個設定。
指定編譯選項安裝,如:./configure --user=www --group=www --prefix=/usr/local/webserver/nginx --with-http_stub_status_mole --with-http_ssl_molemake && make installcd ../
七、創建fcgi.conf文件
rm -f /usr/local/webserver/nginx/conf/fcgi.confvi /usr/local/webserver/nginx/conf/fcgi.conf
『貳』 PHP代碼如何放行代理伺服器IP
<?php
//授權IP
$ips=['119.29.29.29','8.8.8.8'];
//代理IP直接退出
empty($_SERVER['HTTP_VIA'])orexit('AccessDenied');
//防止快速刷新
session_start();
$seconds='3';//時間段[秒]
$refresh='5';//刷新次數
//設置監控變數
$cur_time=time();
if(isset($_SESSION['last_time'])){
$_SESSION['refresh_times']+=1;
}else{
$_SESSION['refresh_times']=1;
$_SESSION['last_time']=$cur_time;
}
//處理監控結果
if($cur_time-$_SESSION['last_time']<$seconds){
if($_SESSION['refresh_times']>=$refresh&&!in_array($getIP,$ips)){
//跳轉至攻擊者伺服器地址
header(sprintf('Location:%s','
));
exit('AccessDenied');
}
}else{
$_SESSION['refresh_times']=0;
$_SESSION['last_time']=$cur_time;
}
functiongetIP(){
if(getenv('HTTP_CLIENT_IP')){
$ip=getenv('HTTP_CLIENT_IP');
}elseif(getenv('HTTP_X_FORWARDED_FOR')){
$ip=getenv('HTTP_X_FORWARDED_FOR');
}elseif(getenv('HTTP_X_FORWARDED')){
$ip=getenv('HTTP_X_FORWARDED');
}elseif(getenv('HTTP_FORWARDED_FOR')){
$ip=getenv('HTTP_FORWARDED_FOR');
}elseif(getenv('HTTP_FORWARDED')){
$ip=getenv('HTTP_FORWARDED');
}else{
$ip=$_SERVER['REMOTE_ADDR'];
}
return$ip;
}
『叄』 常見的Web伺服器有哪些,伺服器設置,代理伺服器,站長在線
Web代理伺服器—CCProxy
Web代理伺服器CCProxy於2000年6月問世,是國內最流行的、下載量最大的代理伺服器。主要用於區域網內共享上網和上網行為監控的最好的在線代理伺服器。
Web代理伺服器可以支持ADSL撥號、寬頻上網、專線接入、ISDN、衛星上網、代理伺服器上網、3G上網等目前已知的幾乎所有上網方式。只要裝有CCProxy的IP代理伺服器能上網,並且其他客戶端能夠連接到這台伺服器,通過設置代理伺服器密碼就可以通過區域網代理伺服器的代理功能實現在線代理上網。
『肆』 web伺服器,應用伺服器,web容器,反向代理伺服器的區別和聯系
在這里先講一下:Web 伺服器與應用伺服器的區別
嚴格意義上Web伺服器只負責處理HTTP協議,只能發送靜態頁面的內容。而JSP,ASP,PHP等動態內容需要通過CGI、FastCGI、ISAPI等介面交給其他程序去處理。這個其他程序就是應用伺服器。
比如Web伺服器包括Nginx,Apache,IIS等。而應用伺服器包括WebLogic,JBoss等。應用伺服器一般也支持HTTP協議,因此界限沒這么清晰。但是應用伺服器的HTTP協議部分僅僅是支持,一般不會做特別優化,所以很少有見Tomcat直接暴露給外面,而是和Nginx、Apache等配合,只讓Tomcat處理JSP和Servlet部分。
如還有疑問,可以去多了解一下伺服器商家,比如(小鳥雲),要多了解就好,希望能幫到你!
『伍』 Web代理伺服器
自動獲取的IP基本不太用這個功能,都是用交換機,設定IP,之後用IIS設定伺服器,之後客戶端通過主機IP就能直接訪問伺服器了。
『陸』 代理伺服器和web伺服器的區別
代理伺服器是信息的中轉站和一個途徑,負責客戶端和WEB伺服器端的通信。而web伺服器則是一個網站的運作中心。
--天下數據--
『柒』 Php支持哪幾種伺服器
一般有兩種方法: 1、apache + php + mysql 2、iis + php + mysql 安裝方法第一種比較好配置,第二中需要修改iis的配置使其能夠運行php 安裝方法: apache2.0 php5.0 mysql 3.23.46-nt 1、安裝mysql 下載mysql對應的版本,解壓到c盤的c:\mysql目錄下; 在環境變數path中添加c:\mysql\bin; 2、安裝php5.0 下載對應的版本的php; 解壓到目錄c:\php下; 3、安裝apache 下載對應的版本,直接點擊安裝; 4、設置 設置php 將c:\php\fdftk.dll文件拷貝到c:\php\pear目錄下; 將c:\php\目錄下的php.ini-recommended文件的名字改為php.ini; 設置apache,使得他能夠解析php 找到apache安裝目錄下的.\conf\httpd.conf文件,打開後在他的最後添加 ScriptAlias /php/ "c:/php/" AddType application/x-httpd-php .php Action application/x-httpd-php "/php/php-cgi.exe" 如果要更改伺服器名稱,可以找到其中的ServerName 關鍵字,然後更改後面的內容; 找到DocumentRoot 關鍵字,把後面的內容該為自己要用來存放網頁的目錄,注意斜乾的方向; 設置php,使得他支持mysql; 找到c:\php目錄下的php.ini文件,找到里頭的extension_dir關鍵字,將後面的路徑改為擴展文件所在的目錄,默認情況下是c:\php\ext目錄,但是在寫進php.ini文件之後,斜乾的方向要反過來;然後找到 ;extension=php_mysql.dll 這一行,把前面的分號去掉,這樣這個動態鏈接庫就激活了; 好,在設置完所有這些之後,把apache伺服器關閉,然後重新打開,就可以運行了 現在就可以開始編寫你的php程序了; 2、 1.下載iis安裝包,或者用windows自帶的安裝光碟安裝2.安裝php4以上,可以到 http://www.php.net下載(注有兩種版本,一種是解壓版,一種是安裝版)3.打開信息服務/網站/默認網站,點右鍵屬性/主目錄/配置/添加/可執行文件選擇剛才安裝的php.exe/擴展名填寫".php"/確定4.整個過程完畢5.測試:在iis中新建虛目錄站點test/在該站點下建一個test.php內容如下:<?phpphpinfo();?>打開 http://localhost/test/test.php,如果出現php的配置信息頁面。一切成功!以上是php解壓縮版的安裝,如果是用php4-installer的話,默認配置好iis.但是條件是裝好了iis
『捌』 什麼是web代理伺服器
中轉伺服器,也就是他本身不存放內容,而是從存放內容的伺服器(一般叫源伺服器)索取內容,再輸出給用戶。
流程:瀏覽器<--->代理伺服器<----->源伺服器
『玖』 怎麼樣用php語言實現通過proxy代理伺服器訪問網站呢
function curl_string ($url,$timeout = 3,$proxy=1){
$ua = array('Mozilla','Opera','Microsoft Internet Explorer','ia_archiver');
$op = array('Windows','Windows XP','Linux','Windows NT','Windows 2000','OSX');
$agent = $ua[rand(0,3)].'/'.rand(1,8).'.'.rand(0,9).' ('.$op[rand(0,5)].' '.rand(1,7).'.'.rand(0,9).'; en-US;)';
Tor 地址與埠
$tor = 'http://www.aimilife.com'; //這里是你的代理伺服器
連接超時設置
$timeout = 3;
$ack = curl_init();
if($proxy)
{
curl_setopt($ack, CURLOPT_PROXY, $tor);
}
curl_setopt($ack, CURLOPT_URL, $url);
curl_setopt($ack, CURLOPT_HEADER, 0);
curl_setopt($ack, CURLOPT_USERAGENT, $agent);
curl_setopt($ack, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ack, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ack, CURLOPT_TIMEOUT, $timeout);
$result = curl_exec($ack);
curl_close($ack);
return $result;
}
『拾』 phpstorm 怎麼設置http代理伺服器
1:點擊File-Settings-Deployment 。點+按鈕增加服務
2:填寫Apache伺服器的路徑
3:現在打開通過PhpStorm打開瀏覽器再試試就可以了。