自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Linux服務(wù)器下LNMP安裝與配置方法

系統(tǒng) Linux
本文主要介紹在Linux服務(wù)器下,LNMP的安裝與配置方法。

Linux服務(wù)器下LNMP安裝與配置方法

一、準(zhǔn)備

1.準(zhǔn)備php函數(shù)的rpm包 

 

 

準(zhǔn)備php函數(shù)的rpm包 

2.準(zhǔn)備lnmp其他的源代碼包 

 

 

準(zhǔn)備lnmp其他的源代碼包 

3.安裝php-5.2.14源代碼包所需要的函數(shù)支持包

復(fù)制代碼 代碼如下: 

 

 

安裝php-5.2.14源代碼包所需要的函數(shù)支持包 

(libiconv庫為需要做轉(zhuǎn)換的應(yīng)用提供了一個(gè)iconv()的函數(shù),以實(shí)現(xiàn)一個(gè)字符編碼到另一個(gè)字符編碼的轉(zhuǎn)換)

復(fù)制代碼 代碼如下: 

 

 

 

(libmcrypt是加密算法擴(kuò)展庫。支持DES, 3DES, RIJNDAEL, Twofish, IDEA, GOST, CAST-256, ARCFOUR, SERPENT, SAFER+等算法。)

復(fù)制代碼 代碼如下: 

 

 

 

如果以上有錯(cuò)誤,請(qǐng)按以下方法:

打開/etc/ld.so.conf,在文件之后,添加一行: 

 

 

 

然后,執(zhí)行 ldconfig ,重新編譯即可。

二、安裝MySQL

1. 編譯安裝MySQL 5.5.3-m3

復(fù)制代碼 代碼如下: 

 

 

編譯安裝MySQL 5.5.3-m3 

三、安裝PHP

1. 編譯安裝PHP(FastCGI模式。使用fastCGI管理php,加快php解析速度)

復(fù)制代碼 代碼如下: 

 

 

編譯安裝PHP 

2.準(zhǔn)備編譯安裝PHP5擴(kuò)展模塊

復(fù)制代碼 代碼如下: 

 

 

準(zhǔn)備編譯安裝PHP5擴(kuò)展模塊 

3. 修改php.ini文件,讓php模塊生效

復(fù)制代碼 代碼如下: 

 

 

修改php.ini文件,讓php模塊生效 

4.在php.ini中配置eAccelerator加速PHP

復(fù)制代碼 代碼如下: 

 

 

在php.ini中配置eAccelerator加速PHP 

5.準(zhǔn)備php-cgi和nginx進(jìn)程執(zhí)行者用戶 

 

 

準(zhǔn)備php-cgi和nginx進(jìn)程執(zhí)行者用戶 

6. 創(chuàng)建php-fpm配置文件- php-fpm.conf 

 

 

創(chuàng)建php-fpm配置文件- php-fpm.conf 

7. 啟動(dòng)php-cgi(fastcgi)進(jìn)程

監(jiān)聽127.0.0.1的9000端口,進(jìn)程數(shù)為128(如果服務(wù)器內(nèi)存小于3GB,可以只開啟64個(gè)進(jìn)程),用戶為nginx:

復(fù)制代碼 代碼如下: 

 

 

啟動(dòng)php-cgi(fastcgi)進(jìn)程 

四、安裝Nginx

1. 安裝Nginx所需的pcre庫

復(fù)制代碼 代碼如下: 

 

 

安裝Nginx所需的pcre庫 

2. 安裝Nginx

復(fù)制代碼 代碼如下: 

 

 

安裝Nginx 

3. 修改Nginx配置文件

復(fù)制代碼 代碼如下: 

 

 

修改Nginx配置文件 

4. 在/usr/local/nginx/conf/目錄中創(chuàng)建fastcgi_params文件

復(fù)制代碼 代碼如下: 

 

 

在/usr/local/nginx/conf/目錄中創(chuàng)建fastcgi_params文件 

#建議把fastcgi_param寫到nginx.conf中而不是把它寫到fastcgi_params配置文件中,否則配置不夠靈活,比如后面默認(rèn)php設(shè)置和alias php設(shè)置中,他們的php頁面的系統(tǒng)地址是不同的,比如:

默認(rèn)php文件->/usr/local/nginx/html/index.php

Alias php文件->/mnt/bbs/index.php

這個(gè)時(shí)候你會(huì)發(fā)現(xiàn)fastcgi_params中的SCRIPT_FILENAME的值是相同的,這樣會(huì)導(dǎo)致alias php的頁面出不來,而配置在nginx.conf中各自配置各自的php系統(tǒng)地址,這樣比較靈活.

#如果你覺得每個(gè)連接php的配置中都要加這一句話有點(diǎn)冗余,那就把它加入到fastcgi_params文件中,這樣只需要加一次,其他所有的nginx.conf中的有關(guān)連接fastcgi的一塊就不用加fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name這一句話了.

5.配置開機(jī)啟動(dòng)nginx,php-fpm,ulimit

1)nginx

Vi /etc/rc.local

/usr/local/nginx/sbin/nginx

2)php-fpm

Vi /etc/rc.local

/usr/local/php/sbin/php-fpm start

3)ulimit

Vi /etc/profile

ulimit -SHn 65535

4)mysql

Vi /etc/rc.local

/usr/local/mysql/bin/mysqld_safe --user=mysql &

6.檢查nginx配置文件語句錯(cuò)誤 

 

 

檢查nginx配置文件語句錯(cuò)誤 

7.平滑重啟nginx進(jìn)程

1)Pkill -HUP nginx

2)kill -HUP `pgrep -uroot nginx`

Pgrep -uroot nginx 取出nginx主進(jìn)程PID

3)/usr/local/nginx/sbin/nginx -s reload

8. 編寫每天定時(shí)切割Nginx日志的腳本

8.1創(chuàng)建腳本/usr/local/nginx/sbin/cut_nginx_log.sh

vi /usr/local/nginx/sbin/cut_nginx_log.sh 

 

 

 

8.2設(shè)置crontab,每天凌晨00:00切割nginx訪問日志 

 

 

 

9.配置nginx虛擬主機(jī)

Sina和sohu域名事先解析

復(fù)制代碼 代碼如下: 

 

 

 

最后在客戶端測試虛擬主機(jī)www.baidu.com和www.sina.com兩家公司網(wǎng)站

10.列表頁顯示 

 

 

 

11.虛擬目錄設(shè)置 

 

 

 

#這樣配置html靜態(tài)文件是可以出來的,但是php動(dòng)態(tài)頁面出不來,而且會(huì)瀏覽器的頁面上會(huì)顯示" No input file specified. "的報(bào)錯(cuò),其實(shí)是php系統(tǒng)文件地址( SCRIPT_FILENAME)找不到,也就是說fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;中的$document_root$fastcgi_script_name不是真正的/mnt/bbs/index.php的地址,這可怎么解決: 

 

 

#后面兩行是關(guān)于日志的,就是為了更好的觀察由nginx提交給fastcgi的php的系統(tǒng)地址SCRIPT_FILENAME,在這里我用$request_filename來給SCRIPT_FILENAME賦值,在日志中的結(jié)果為/mnt/bbs/index.php,在這里我發(fā)現(xiàn)一個(gè)問題就是$request_filename中的root設(shè)置為/mnt,否則$request_filename的值為:/mnt/bbs/bbs/index.php.

由以上可以得到一個(gè)結(jié)論,就是默認(rèn)php設(shè)置也可以這樣設(shè)置關(guān)于 

 

 

 

#此時(shí)從日志中可以看到,$request_filename的值為/usr/local/nginx/html/index.php,而以前默認(rèn)的/scripts$fastcgi_script_name顯然是錯(cuò)的php系統(tǒng)地址,日志中顯示為/scripts/index.php

12.nginx狀態(tài)監(jiān)控 

 

 

 

#客戶端訪問網(wǎng)址:http://www.baidu.com/nginxstatus

13.rewrite正則過濾 

 

 

 

Rewrite指令最后一項(xiàng)參數(shù)為flag標(biāo)記,支持的flag標(biāo)記如下:

  • Last 標(biāo)示完成rewrite規(guī)則
  • Break 不再匹配后面的規(guī)則
  • Redirect 302臨時(shí)重定向
  • Permanent 301永久重定向

Last和break用來實(shí)現(xiàn)uri重寫,瀏覽器地址欄的url地址不變,但在服務(wù)器訪問的路徑發(fā)生了變化,redirect和permanent用來實(shí)現(xiàn)url跳轉(zhuǎn),瀏覽器地址欄會(huì)顯示跳轉(zhuǎn)后的url地址,使用alias指令時(shí)必須使用last標(biāo)記,使用proxy_pass指令時(shí)要使用break標(biāo)記,last標(biāo)記在本條rewrite規(guī)則執(zhí)行完畢后,會(huì)對(duì)其所在的server{}標(biāo)簽重新發(fā)起請(qǐng)求,而break標(biāo)記則在本條規(guī)則匹配完成后,終止匹配,不再匹配后面的規(guī)則.

在匹配的過程中,nginx將首先匹配字符串,然后再匹配正則表達(dá)式,匹配到第一個(gè)正則表達(dá)式后,會(huì)停止搜索,如果匹配到正則表達(dá)式,則使用正則表達(dá)式的搜索結(jié)果,如果沒有匹配到正則表達(dá)式,則使用字符串的搜索結(jié)果.

可以使用前綴"^~"來禁止匹配到字符串后,再去檢查正則表達(dá)式,匹配到url后,將停止查詢.

使用前綴"="可以進(jìn)行精確的url匹配,如果找到匹配的uri,則停止查詢,例如"location=/",只能匹配到"/",而"/test.html"則不能被匹配.

正則表達(dá)式的匹配,按照它們?cè)谂渲梦募械捻樞蜻M(jìn)行,寫在前面的優(yōu)先. 

 

 

 

請(qǐng)求處理匹配結(jié)果示例: 

 

 

 

例1:域名跳轉(zhuǎn)

輸入www.sina.com,跳轉(zhuǎn)到www.sohu.com 

 

 

 

例2:靜態(tài)index.html跳轉(zhuǎn)到動(dòng)態(tài)index.php文件 

 

 

 

在客戶端輸入:http://www.sina.com/index2.html

會(huì)跳轉(zhuǎn)到index.php,把2當(dāng)變量傳入index.php程序

14.代理負(fù)載均衡技術(shù)(反向代理) 

 

 

 

模塊設(shè)置

1.模塊設(shè)置

Error_log

#錯(cuò)誤日志

Include

#包含子配置文件,0.6版本以后子配置文件放在nginx.conf所在的路徑下

Pid

#主進(jìn)程id號(hào)

User

#nginx nginx表明nginx進(jìn)程的執(zhí)行者和組

Worker_processes

#與cpu個(gè)數(shù)相同,4核cpu為4

Worker_rlimit_nofile 65535

#打開的文件描述符,不過提前得設(shè)置ulimit -SHn 65535,即linux允許的打開文件個(gè)數(shù)

Worker_connectiones 65535

#客戶端最大連接數(shù)65535

Alias

#虛擬目錄

Error_page

#404,500錯(cuò)誤跳轉(zhuǎn)頁面

Index

#index index.html,設(shè)置默認(rèn)首頁

Keepalive_timeout

#即tcp持續(xù)連接超時(shí)時(shí)間

Limit_rate

#limit _rate 100k,即限速為100KB/s

Limit_rate_after

#limit_rate_after 1m,即下載文件超過1m,則進(jìn)入limit_rate限速階段

Listen

#listen 192.168.100.1:80,即設(shè)置ip和端口

Location

#該指令允許對(duì)不同的uri進(jìn)行不同的配置,可以是字符串、正則表達(dá)式

Resolver

#resolver 8.8.8.8,為nginx設(shè)置dns域名指向

Root

#設(shè)置網(wǎng)站根目錄

Send_timeout

#超時(shí)時(shí)間是指進(jìn)行了兩次tcp握手,還沒有轉(zhuǎn)為established狀態(tài)的時(shí)間,如果超過這個(gè)時(shí)間,客戶沒有響應(yīng),nginx則關(guān)閉連接,可以用來防止ddos攻擊

Sendfile

#啟用或禁用sendfile()函數(shù),作用于拷貝兩個(gè)文件描述符之間的操作函數(shù),這個(gè)拷貝是在內(nèi)核中操作的,比read和write拷貝高效得多

Server

#普通web配置或虛擬主機(jī)的配置的區(qū)域

Server_name

#根據(jù)客戶端請(qǐng)求header頭信息中的host域名,來匹配該請(qǐng)求應(yīng)該由哪個(gè)虛擬主機(jī)配置或服務(wù)器的ip

Tcp_nodelay

#封裝tcp/ip數(shù)據(jù)包的等待時(shí)間,也叫納格算法,在keepalive開啟才有用

Tcp_nopush

#要求sendfile開啟的時(shí)候才起作用,設(shè)置該選擇的原因是nginx在linux上,試圖在一個(gè)包中發(fā)送它的httpd應(yīng)答頭

Allow

#allow 192.168.100.254,只允許192.168.100.254訪問

Deny

#deny all,拒絕其他任何人訪問

Autoindex

#autoindex on,即開啟列表頁功能

Charset

#charset utf8;source_charset gbk,把服務(wù)器上的gbk網(wǎng)頁編碼轉(zhuǎn)換成utf8輸出給客戶端

Fastcgi_pass

#fastcgi_pass 127.0.0.1:9000;

#fastcgi_index index.php;

#fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;

#include fastcgi_params;

#fastcgi_pass后跟的是php-cgi進(jìn)程的ip和端口

Access_log

#正確日志

Proxy_pass

# proxy_pass http://myweb1,即后跟的是nginx代理負(fù)載池upstream中的服務(wù)器

Proxy_set_header

# proxy_set_header Host $host,設(shè)置把$host帶給后端的nginx服務(wù)器

Proxy_temp_path

#用戶指定一個(gè)本地目錄緩沖較大的代理請(qǐng)求,類似于client_body_temp_path

Stub_status

# stub_status on,即開戶狀態(tài)監(jiān)控

Image_filter

#它指定適用于圖片的轉(zhuǎn)換類型 

責(zé)任編輯:龐桂玉 來源: 馬哥Linux運(yùn)維
相關(guān)推薦

2009-03-30 14:32:15

LinuxNetware服務(wù)器

2011-02-23 13:26:18

Linuxvsftp

2012-08-24 11:10:46

LinuxNetware服務(wù)器

2018-08-28 09:12:58

LinuxPHP服務(wù)器

2011-10-09 13:16:50

LNMP生產(chǎn)服務(wù)器自動(dòng)安裝

2011-01-13 15:57:20

FreeBSD 8.1vsftpd

2010-09-02 14:09:06

LinuxDHCP服務(wù)器

2009-09-17 17:37:05

Nis服務(wù)器

2012-12-31 10:54:09

LinuxNFS

2011-01-07 09:25:35

LinuxDHCP服務(wù)器

2011-01-21 09:54:44

LinuxSendmail

2017-12-18 14:27:26

LinuxDNS服務(wù)器安裝、配置和維護(hù)

2010-05-31 10:47:08

WindowsSVN服

2009-12-02 19:09:25

Open Suse L

2010-03-01 09:38:09

Linux服務(wù)器

2010-01-15 17:35:09

2013-06-03 13:19:57

2009-12-03 17:33:19

Suse Linux系

2009-01-08 17:45:10

服務(wù)器WebLinux

2010-08-27 10:40:58

Linux DHCP服
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)