LNMP (nginx+php-fpm)

Nginx簡明:

特性:

采用模塊化設計,較好的擴展性;
高可靠性 ?master/worker
支持熱部署:不停機更新配置文件、更換日志文件、列新服務器版本
低內存消耗:10000個keep-alive連接模式下的非活動連接僅消耗2.5M內存;
event-dreiven,aio,mmap
基本功能;
靜態資源的web服務器
http協議反向代理服務器;
pop3/imap4協議反向代理服務器;
FastCgi,uWSCGI等協議;
模塊化(非DSO),有zip,ssl,…;

 

web服務器相關的功能;

虛擬主機、keepalive、訪問日志、url rewrite 、路徑別名、基于ip及用戶的訪問控制;
支持速率限制及并發數限制,…;
Nginx的程序架構:
master/worker
一個master進程,可生成一個或多個worker進程;
master;加載配置文件、管理worker進程、平滑升級、…
worker:http服務、http代理、fstcgi代理 …
緩存對象的相關數據
cache loader 載入緩存對象
cache manager 管理緩存對象
模塊類型
核心模塊;core module
標準模塊: Standard HTTP modules Optional HTTP moduels Mail modules 3rd party modules ;
nginx一般用于靜態資源的web服務器 http協議反向代理
nginx高度模塊:高度模塊化,但其模塊早期不支持DSO機制; 近期版本支持動態裝載和動態卸載
nginx的功用;
靜態的web資源服務器; (圖片服務器,或js/css/html/txt等靜態的資源服務器)
結合FastCGI/uwCGI/SCGI等協議反代動態資源請求
http/https協議的反向代理 ;
imap4/pop3協議的么向代理 ;
tcp/udp協議的請求轉發;

LNMP環境的搭建 (nginx+php-fpm):基于fastcgi

CGI全稱為公共網關接口(Common Gateway Interface)
php-fpm 工作方式:(類似于httpd的prefork)
listen=127.0.0.1:9000
listen.allowed_clients=127.0.0.1
pm=dynamic |static
pm.start_servers:啟動fpm進程時啟動的工作進程數量;
pm.min_spare_server:最少空閑進程數;
pm.max_children:最大工作進程數;
user=USERNAME
group=GROUPNAME

 

fastcgi模塊指令;
fastcgi_pass address;
address是fpm服務器監聽的地址和端口;
示例:fastcgi 127.0.0.1:9000;
fastcgi_index name; fastcgi應用的主面名稱;
fastcgi_param parameter avlue [if_not_empty];
傳遞給fpm服務器的參數及其值
path:文件系統路徑,用于存儲緩存的文件數據 ;
max_size=size:定義此路徑下的多大空間用于存儲緩存數據 ;
levels=#[:#[:#]]:緩存目錄層級定義;
levels=1:2
key_zone=name:size
內存中用于緩存k/v映射關系的空間名稱及大??;
inactive=time
注意:只能定義在httpd上下文;
fastcgi_cache zone | off;
是否啟用cache,如果啟用;
fastcgi_cache_path /var/cache/nginx/fastcgi levels=1:2 keys_zone=fcgicache:10m;
在location中調用;
fastcgi_cache fcgicache;
fastcgi_cache_key string;
定義要使用的緩存鍵;
例如:fastcgi_cache_key $request_uri;
fastcgi_cache_methods GET | HEAD |POST…;
緩存哪些類型的請求的相關數據;
fastcgi_cache_min_users number;
fastcgi_cache_valid [code…] time;
對不同響應碼設定其可緩存時長;
注意:調用緩存時,至少應該指定三個參數;
fastcgi_cache
fastcgi_cache_key
fastcgi_cache_valid

配置拓撲

LNMP (nginx+php-fpm)

安裝:

# yum -y install php-fpm php-mysql php-mbstring php-gd php-xml nginx mariadb  
# rpm -ql php-fpm 可以查看其生成的文件 
# systemctl start php-fpm mariadb nginx 
# vim /etc/nginx/conf.d/defult.conf 
修改 
location / {
root   /usr/share/nginx/html;
index  index.html index.htm index.php;
}

添加

   location ~ \.php$ {
root           /usr/share/nginx/html;
fastcgi_pass   127.0.0.1:9000;
fastcgi_index  index.php;
fastcgi_param  SCRIPT_FILENAME  /usr/share/nginx/html/$fastcgi_script_name;
include        fastcgi_params;
}

 

# vim /usr/share/nginx/html/index.php 
<h1>www.rj.com NODE2</h1>
<?php
$link=mysql_connect("localhost","root","centos.123");
if(!$link)echo"CNONNECT FILED!";
else echo "CAN CNONNECT !";
?>

訪問http://172.16.23.10/index.php后可以看到CAN CNONNECT字樣時,表示php可以正常解析,并能夠連接到mysql

原創文章,作者:nene,如若轉載,請注明出處:http://www.www58058.com/88103

(1)
nenenene
上一篇 2017-06-28 08:49
下一篇 2017-06-28 20:15

相關推薦

  • ACL

    acl 權限的理解

    Linux干貨 2018-03-19
  • linux 記憶命令心得

    新開始學linux,要記住很多的命令,畢竟這是linux的根本,沒有這些命令,連操作都沒辦法進行。所以我寫這個的目的是我自己記憶,也是想幫助一下一同學習linux的同學們,提供自己記憶這些的方法,拋磚引玉,大家共同討論一下。 我的記憶方法就是分類,把命令分成輸出類,名詞累,操作類。 輸出類就是說的例如w,who,whoami,echo,ifcogfig,wh…

    Linux干貨 2017-07-15
  • vim編輯器

    vim編輯器 vi:Vistual Interface,是一種文本編輯器,所謂文本編輯器就是基于字符編碼的文件,常見的編碼有ASCLL編碼,UNICODE編碼。 vim:即vi IMproved:vi的增強版,可以使用顏色或者底線等方式來顯示一些特殊信息,是模式化的編輯。 文本編輯器的種類 行編輯器:所謂行編輯器就是一行一行來編輯處理的工具,如sed 全屏編…

    Linux干貨 2016-08-15
  • Mariadb數據庫備份恢復系列(一):mysqldump邏輯備份工具實戰

    實驗一:利用mysqldump+二進制日志實現備份恢復數據庫 1、查看原始數據 2、mysqldump執行備份 3、模擬在備份后修改數據,模擬利用二進制日志還原的場景 4、還原mysqldump備份的數據 5、導出二進制日志的事件 6、還原二進制日志事件   

    Linux干貨 2016-11-24
  • 虛擬機的安裝

    虛擬機的安裝步驟: 1、打開VMware點擊創建新的虛擬機 2、選擇典型安裝方式點擊下一步 3、選擇稍后安裝操作系統點擊下一步 4、客戶機操作系統選擇Linux,版本選擇Centos 64位 5、設定虛擬機的名稱及存放路徑 6、設定磁盤的容量,選中將虛擬磁盤存儲為單個文件 7、對虛擬設備進行設置 8、CD/DVD此項選中使用ISO映像文件并選擇映像所在路徑 …

    2018-03-27
  • Linux命令幫助文檔的使用及簡單命令使用-2016-7-25

    Linux命令幫助文檔的使用   相關命令 whatis    COMMAND –help    man and info 本地幫助文檔/usr/share/doc   在使用系統內建的幫助文檔之前,我們需要了解需要命令幫助是否是內部命令和外部命令…

    Linux干貨 2016-08-04
欧美性久久久久