国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Maison php教程 PHP開發(fā) lamp架構(gòu)

lamp架構(gòu)

Dec 01, 2016 pm 01:41 PM
lamp

一、Apache 進(jìn)程模式說明

在linux中,我們可以用httpd-l 查看安裝的模塊是prefork模式還是worker模式

[root@LAMP ~]# /usl/local/apache/bin/apachectl ?-l|egrep "worker|prefoker"

? worker.c

[root@LAMP ~]#

或者

[root@LAMP ~]# /usr/local/apache/bin/apachectl ?-l |sed -n '/worker\|prefork/p'

? worker.c

[root@LAMP ~]#?

prefork模式(默認(rèn))

? ? ? ?prefork使用的是多個子進(jìn)程,而每一個子進(jìn)程只有一個線程,每個進(jìn)程在某個確定的時間只能維持一個連接。

工作原理:

? ? ?控制進(jìn)程最初建立若干個子進(jìn)程,為了不在請求到來時再生成子進(jìn)程,所以要根據(jù)需求不斷的創(chuàng)建新的子進(jìn)程,最大可以達(dá)到每秒32個知道滿足需求為止。

worker模式(默認(rèn))

? ? ? ? ? worker模式是Apache2.x新引進(jìn)的模式,是線程與進(jìn)程的結(jié)合,在worker模式下會有多個子進(jìn)程,每個子進(jìn)程又會有多個線程。每個線程在某個確定時間只能維持一個連接。

? ?工作原理:

???由主控制進(jìn)程生成若干個子進(jìn)程,而每個子進(jìn)程中又包含固定的線程數(shù),各個線程獨立處理請求,同樣為了不在請求到來時再生成線程,在配置文件中設(shè)置了最小和最大空閑線程數(shù)及所有子進(jìn)程的線程總數(shù),如果現(xiàn)有子進(jìn)程中的線程總數(shù)不能滿足并發(fā)負(fù)載,控制進(jìn)程將派生新的子進(jìn)程。

? ?安裝方法:

? ?在配置編譯的過程中,加入?yún)?shù)--with-mpm=worker,如果不加的話系統(tǒng)會采用默認(rèn)的prefork模式

優(yōu)點:內(nèi)存占用比prefork模式低,適合高并發(fā)高流量的HTTPD服務(wù)

缺點:假如一個線程崩潰,整個進(jìn)程積極會連同其任何線程一起“死掉”。由于線程共享內(nèi)存空間,所以一個程序在運行時必須被系統(tǒng)識別為“每個線程都是安全的”。服務(wù)穩(wěn)定性不如prefork模式。

event模式:在非常繁忙的服務(wù)器下,以上兩種服務(wù)器有點吃不消,在worker基礎(chǔ)上,它把服務(wù)進(jìn)程從連接中分離出來。在服務(wù)器處理速度很快,同時具有非常高的點擊率時,可用的線程數(shù)量就是關(guān)鍵的資源限 制,此時Event MPM方式是最有效的

1.prefork:

StartServers ? ? ? ? ?5 #服務(wù)器開始進(jìn)程

MinSpareServers ? ? ? 5 #最小空閑進(jìn)程

MaxSpareServers ? ? ?10 #最大空閑進(jìn)程

MaxClients ? ? ? ? ?150 #最大處理請求數(shù),對性能影響最大,默認(rèn)最大256,再多排隊

MaxRequestsPerChild ? 0 #進(jìn)程處理的最大請求數(shù),0無限制,可以設(shè)置大一點,不用回收

2.worker:

StartServers ? ? ? ? ?2 #開始進(jìn)程數(shù)

MaxClients ? ? ? ? ?150 #最大處理請求數(shù)

MinSpareThreads ? ? ?25 #最小空閑線程數(shù)

MaxSpareThreads ? ? ?75 #最大空閑線程數(shù)

ThreadsPerChild ? ? ?25 #每個進(jìn)程可以產(chǎn)生多少線程,最大可以是20000,性能密切相關(guān)

MaxRequestsPerChild ? 0 #線程處理的最大請求數(shù), 0無限制

worker模式下所能同時處理的請求總數(shù)是由子進(jìn)程總數(shù)乘以Threadsperchild值決定的,應(yīng)該大于等于maxclients。如果負(fù)載很大,現(xiàn)有的子進(jìn)程數(shù)不能滿足時,控制進(jìn)程會派生新的子進(jìn)程。

?提示:?默認(rèn)最大的子進(jìn)程總數(shù)為16,如需加大時也需要明顯的申明serverlimit的值(最大值時20000)

查看Apache的worker下并發(fā)連接數(shù):

[root@LAMP ~]# pstree -a|grep httpd|wc -l

84

[root@LAMP ~]#?

3.event就不研究了

二.測試解析

關(guān)鍵點:

1, apachectl -M 查看是否加載libphp5.so

2. httpd.conf 里面是否寫對了AddType ?Application/x-httpd-php .php

3. php代碼格式要寫對

4. selinux要關(guān)閉

5. deny沒有改成allow ?2.4 denied ?granted

6. 沒有加host

2. 配置第一個虛擬主機

刪除httpd.conf中的這行前面的警號

#Include conf/extra/httpd-vhosts.conf

vim /usr/local/apache2/con5. 為某個虛擬主機配置用戶認(rèn)證

http://www.lishiming.net/thread-554-1-1.htmlf/extra/httpd-vhosts.conf

2、web防盜鏈技術(shù)

? 簡單的說,就是某些不法的網(wǎng)站,通過在其自身網(wǎng)站程序里未經(jīng)許可非法調(diào)用其他網(wǎng)站的資源,然后在自己的網(wǎng)站上顯示這些調(diào)用的資源,達(dá)到了填充自身網(wǎng)站顯示的效果,但是浪費了調(diào)用資源網(wǎng)站的網(wǎng)絡(luò)流量,造成其他網(wǎng)站的帶寬及服務(wù)壓力吃緊,甚至宕機。

網(wǎng)站被盜鏈的解決方案:

1、根據(jù)http referer實現(xiàn)防盜鏈

在HTTP協(xié)議中,有一個表頭字段叫referer,使用URL格式來表示從哪里來的鏈接到當(dāng)前網(wǎng)頁的資源,通過referer可以檢測到目標(biāo)訪問的來源網(wǎng)頁,如果是資源文件,可以跟蹤到顯示它的網(wǎng)頁地址,一單檢測出來源不是本站進(jìn)行阻止或返回指定頁面。 目前Apache,nginx,lighttpd三者都支持根據(jù)http referer實現(xiàn)防盜鏈

2、根據(jù)cookie處理

3、通過加密變換訪問路徑實現(xiàn)防盜鏈lighttpd有類似的插件mod_secdownload

Apache web服務(wù)實現(xiàn)防盜鏈實戰(zhàn)

? ? ServerAdmin ucode@gmail.com

? ? DocumentRoot "/var/html/bbs"

? ? ServerName ucode.blog.51cto.com

? ? ServerAlias www.dummy-host.example.com

? ? ErrorLog "logs/bbs-error_log"

? ? CustomLog "|/usr/local/sbin/cronolog /app/logs/access_bbs_%Y%m%d.log" combined

? ??RewriteEngine On?#開啟防盜鏈

? ??RewriteCond %{HTTP_REFERER}!^http://ucode.blog.51cto.com/.*$ [NC]

? ? RewriteCond %{HTTP_REFERER}!^http://ucode.blog.51cto.com/$ [NC]

? ? RewriteCond %{HTTP_REFERER}!^http://ucode.blog.51cto.com/.*$ [NC]

? ? RewriteCond %{HTTP_REFERER}!^http://ucode.blog.51cto.com$ [NC]

? ? RewriteCond .*\.(gif|jpg|swf)$ http://ucode.blog.51cto.com/img/nolink.jpg [ R,NC]

滿足以上的黑體部分的就會返回:http://ucode.blog.51cto.com/img/nolink.jpg圖片

Listen 80##默認(rèn)監(jiān)聽的端口是80

PidFile /export/servers/apache2/logs/httpd.pid

LoadModule authn_file_module modules/mod_authn_file.so##加載的模塊

User admin ##一般默認(rèn)設(shè)置為admin

Group admin ##一般默認(rèn)設(shè)置為admin

DocumentRoot "/export/servers/apache2/htdocs"##設(shè)置你的項目文件路徑

ServerAdmin you@example.com ? ? ? #當(dāng)服務(wù)器報錯是,返回客戶端,讓聯(lián)系管理員

ServerName localhost:80 ? ?##服務(wù)器的名字:端口

AddType application/x-httpd-php .php ? ? ? ? ?讓.php文本文件格式也能運行php程序。

1

Options FollowSymLinks

AllowOverride None

Order deny,allow

Allow from all

#Options:配置在特定目錄使用哪些特性,常用的值和基本含義如下:

#ExecCGI: 在該目錄下允許執(zhí)行CGI腳本。

#FollowSymLinks: 在該目錄下允許文件系統(tǒng)使用符號連接。

#Indexes: 當(dāng)用戶訪問該目錄時,如果用戶找不到DirectoryIndex指定的主頁文件(例如#index.html),則返回該目錄下的文件列表給用戶。

#SymLinksIfOwnerMatch: 當(dāng)使用符號連接時,只有當(dāng)符號連接的文件擁有者與實際文件擁有者相同時才可以訪問.

Includes 允許服務(wù)器端包含。

IncludesNOEXEC 允許服務(wù)器端包含,但禁用#exec命令和#exec CGI。但仍可以從ScriptAliase目錄使用#include 虛擬CGI腳本。

比如說,沒有任何+和-符號:

Options Indexes FollowSymLinks

Options Includes

則只有 ?Includes ?設(shè)置到/web/docs/spec目錄上。

然而如果第二個 ?Options ?指令使用了+和-符號:

Options Indexes FollowSymLinks

Options +Includes -Indexes

那么就會有 ?FollowSymLinks ?和 ?Includes ?設(shè)置到/web/docs/spec目錄上。

#AllowOverride:允許存在于.htaccess文件中的指令類型(.htaccess文件名是可以改變的,其文件名由AccessFileName指令決定):

#None: 當(dāng)AllowOverride被設(shè)置為None時。不搜索該目錄下的.htaccess文件(可以減小服務(wù)器開銷)。

#All: 在.htaccess文件中可以使用所有的指令。

Order:控制在訪問時Allow和Deny兩個訪問規(guī)則哪個優(yōu)先:

Allow:允許訪問的主機列表(可用域名或子網(wǎng),例如:Allow from 192.168.0.0/16)。

Deny:拒絕訪問的主機列表。

Apache服務(wù)器可以針對目錄進(jìn)行文檔的訪問控制,然而訪問控制可以通過兩種方式來實現(xiàn),一個是在設(shè)置文件 httpd.conf(或access.conf)中針對每個目錄進(jìn)行設(shè)置

Timeout 300 ##客戶程序和服務(wù)器連接的超時間隔

KeepAlive On ###在一次連接中傳遞多個HTTP請求

MaxKeepAliveRequests 100 ###為一次連接可以進(jìn)行的HTTP請求的最大請求次數(shù)

KeepAliveTimeout 15 ###測試一次連接中的多次請求傳輸之間的時間,如果服務(wù)器已經(jīng)完成了一次請求,但一直沒有接收到客戶程序的下一次請求,在間隔超過了這個參數(shù)設(shè)置的值之后,服務(wù)器就斷開連接。

ErrorLog logs/error_log #日志的保存位置

LogLevel warn ? ?##日志級別 debug日志界別,日志就比較多

日志的缺省格式有如下幾種:

LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined

LogFormat "%h %l %u %t "%r" %>s %b" common #common為日志格式名稱

LogFormat "%{Referer}i -> %U" referer

LogFormat "%{User-agent}i" agent

CustomLog logs/access_log common

格式中的各個參數(shù)如下:

%h –客戶端的ip地址或主機名

%l –The 這是由客戶端 identd 判斷的RFC 1413身份,輸出中的符號 "-" 表示此處信息無效。

%u –由HTTP認(rèn)證系統(tǒng)得到的訪問該網(wǎng)頁的客戶名。有認(rèn)證時才有效,輸出中的符號 "-" 表示此處信息無效。

%t –服務(wù)器完成對請求的處理時的時間。

"%r" –引號中是客戶發(fā)出的包含了許多有用信息的請求內(nèi)容。

%>s –這個是服務(wù)器返回給客戶端的狀態(tài)碼。

%b –最后這項是返回給客戶端的不包括響應(yīng)頭的字節(jié)數(shù)。

"%{Referer}i" –此項指明了該請求是從被哪個網(wǎng)頁提交過來的。

"%{User-Agent}i" –此項是客戶瀏覽器提供的瀏覽器識別信息


Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefa?on, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Tutoriel PHP
1502
276