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

Nginx基礎(chǔ)應(yīng)用--------基于CentOS6源碼安裝

系統(tǒng) Linux
Nginx是一款高性能的HTTP和反向代理服務(wù)器,能夠選擇高效的epoll(linux2.6內(nèi)核)、kqueue(freebsd)、eventport(solaris10)作為網(wǎng)絡(luò)I/O模型,能夠支持高達(dá)50000個并發(fā)連接數(shù)的響應(yīng),而內(nèi)存、CPU等系統(tǒng)資源消耗卻非常低、運(yùn)行非常穩(wěn)定。

 【引自asd1123509133的博客】1. 背景

介紹:

Nginx是一款高性能的HTTP和反向代理服務(wù)器,能夠選擇高效的epoll(linux2.6內(nèi)核)、kqueue(freebsd)、eventport(solaris10)作為網(wǎng)絡(luò)I/O模型,能夠支持高達(dá)50000個并發(fā)連接數(shù)的響應(yīng),而內(nèi)存、CPU等系統(tǒng)資源消耗卻非常低、運(yùn)行非常穩(wěn)定。

選擇的理由:

* 支持高并發(fā)連接:nginx使用高效的多路復(fù)用模型(epoll/linux, kqueue/freebsd, eventport/solaris)

* 內(nèi)存消耗少:在服務(wù)器3W并發(fā)連接下,開啟10個Nginx進(jìn)程消耗150MB內(nèi)存(15MB*10)

* 成本低廉:購買F5 BIG-IP、NetScaler等負(fù)載均衡交換機(jī)需要幾十萬RMB,而開源Nginx替代這些商業(yè)設(shè)備。

* 其他理由:網(wǎng)絡(luò)配置簡單;支持rewrite重寫規(guī)則,能夠根據(jù)域名、URL的不同、將HTTP請求分到不同的后端服務(wù)器群組;內(nèi)置的健康檢查功能;節(jié)省帶寬,支持GZIP壓縮,可以添加瀏覽器本地緩存的Header頭;支持熱部署,能夠在不間斷服務(wù)的情況下、對軟件版本進(jìn)行升級

應(yīng)用范圍:

* Web服務(wù): 設(shè)置多虛擬主機(jī)的服務(wù)并配合fast-cgi或tomcat支持動態(tài)網(wǎng)頁

Nginx是近年來比較火的一個www服務(wù)的軟件,與Apache和lighttpd以及tomcat等功能類似,但是nginx要比前者有著卓越的性能,比如:采用了epoll模型,內(nèi)存消耗小等優(yōu)點(diǎn);

* 反向代理, 多虛擬主機(jī)的代理:

指以代理服務(wù)器來接受Internet上的連接請求,然后將請求轉(zhuǎn)發(fā)給內(nèi)部網(wǎng)絡(luò)上的服務(wù)器,并將從服務(wù)器上得到的結(jié)果返回給Internet上請求連接的客戶端;

* 七層的負(fù)載均衡: 單多虛擬主機(jī)不同服務(wù)器之間的訪問;

負(fù)載均衡是由多臺服務(wù)器以對稱的方式組成一個服務(wù)器集合,每臺都是等價地位,通過某種負(fù)載分擔(dān)技術(shù),將外部發(fā)送來的請求均勻分配到對稱結(jié)構(gòu)中某一臺服務(wù)器上,來接收到請求的服務(wù)器獨(dú)立地回應(yīng)客戶的請求;

* 正向代理: 代理上網(wǎng)

代理內(nèi)部網(wǎng)絡(luò)對Internet的鏈接請求,客戶機(jī)必須指定代理服務(wù)器,并將本來要直接發(fā)送到web服務(wù)器上的http請求發(fā)送到代理服務(wù)器中,由代理服務(wù)器請求并返回響應(yīng)內(nèi)容;

* 緩存服務(wù)

為proxy和fastcgi做緩存服務(wù),提高訪問速度,相當(dāng)于squid功能;

2. 環(huán)境

  1. [root@nginx ~]# cat /etc/redhat-release 
  2.  
  3. CentOS release 6.8 (Final) 
  4.  
  5. [root@nginx ~]# uname -r 
  6.  
  7. 2.6.32-504.el6.x86_64  

3. 安裝

* 臨時關(guān)閉selinux(可選)

  1. [root@nginx ~]# setenforce 0 

* 關(guān)閉iptables(可選)

  1. [root@nginx ~]# service iptables stop 

* 創(chuàng)建www用戶

  1. [root@nginx ~]# useradd -r -s /sbin/nologin -M www 

* 安裝pcre庫依賴

  1. [root@nginx ~]# yum install pcre pcre-devel -y 

* 安裝ssl庫依賴

  1. [root@nginx ~]# yum install openssl openssl-devel -y 

* 進(jìn)入下載目錄

  1. cd /usr/local/src 

* 下載nginx源碼包

  1. wget http://nginx.org/download/nginx-1.11.10.tar.gz 

* 解壓nginx源碼包

  1. tar zxvf nginx-1.11.10.tar.gz 

* 進(jìn)入nginx包目錄

  1. cd nginx-1.11.10 

* 指定安裝目錄、用戶、模塊

  1. [root@nginx ~]# ./configure --prefix=/usr/local/nginx-1.11.10 --user=www --group=www --with-http_ssl_module --with-http_stub_status_module 

* 編譯并安裝

  1. [root@nginx ~]# make && make install 

* 做nginx軟鏈接

  1. [root@nginx ~]# ln -s /usr/local/nginx-1.11.10 /usr/local/nginx 

4. 創(chuàng)建啟動腳本

* /etc/init.d/nginx

  1. #!/bin/sh 
  2. # nginx - this script starts and stops the nginx daemon 
  3. # chkconfig:   - 85 15 
  4. # description:  NGINX is an HTTP(S) server, HTTP(S) reverse \ 
  5. #               proxy and IMAP/POP3 proxy server 
  6. # processname: nginx 
  7. # config:      /usr/local/nginx/conf/nginx.conf 
  8. # config:      /etc/sysconfig/nginx 
  9. # pidfile:     /var/run/nginx.pid 
  10. # Source function library. 
  11. . /etc/rc.d/init.d/functions 
  12.  
  13. # Source networking configuration. 
  14. . /etc/sysconfig/network 
  15.  
  16. Check that networking is up. 
  17. "$NETWORKING" = "no" ] && exit 0 
  18.  
  19. nginx="/usr/local/nginx/sbin/nginx" 
  20. prog=$(basename $nginx) 
  21.  
  22. NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf" 
  23.  
  24. [ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx 
  25.  
  26. lockfile=/var/lock/subsys/nginx 
  27.  
  28. make_dirs() { 
  29.    # make required directories 
  30.    user=`$nginx -V 2>&1 | grep "configure arguments:" | sed 's/[^*]*--user=\([^ ]*\).*/\1/g' -` 
  31.    if [ -z "`grep $user /etc/passwd`" ]; then 
  32.        useradd -M -s /bin/nologin $user 
  33.    fi 
  34.    options=`$nginx -V 2>&1 | grep 'configure arguments:'
  35.    for opt in $options; do 
  36.        if [ `echo $opt | grep '.*-temp-path'` ]; then 
  37.            value=`echo $opt | cut -d "=" -f 2` 
  38.            if [ ! -d "$value" ]; then 
  39.                # echo "creating" $value 
  40.                mkdir -p $value && chown -R $user $value 
  41.            fi 
  42.        fi 
  43.    done 
  44.  
  45. start() { 
  46.     [ -x $nginx ] || exit 5    [ -f $NGINX_CONF_FILE ] || exit 6 
  47.     make_dirs    echo -n $"Starting $prog: " 
  48.     daemon $nginx -c $NGINX_CONF_FILE 
  49.     retval=$? 
  50.     echo 
  51.     [ $retval -eq 0 ] && touch $lockfile 
  52.     return $retval 
  53.  
  54. stop() { 
  55.     echo -n $"Stopping $prog: " 
  56.     killproc $prog -QUIT    retval=$? 
  57.     echo 
  58.     [ $retval -eq 0 ] && rm -f $lockfile 
  59.     return $retval 
  60.  
  61. restart() { 
  62.     configtest || return $? 
  63.     stop 
  64.     sleep 1 
  65.     start 
  66.  
  67. reload() { 
  68.     configtest || return $? 
  69.     echo -n $"Reloading $prog: " 
  70.     killproc $nginx -HUP    RETVAL=$? 
  71.     echo 
  72.  
  73. force_reload() { 
  74.     restart 
  75.  
  76. configtest() { 
  77.     $nginx -t -c $NGINX_CONF_FILE 
  78.  
  79. rh_status() { 
  80.     status $prog 
  81.  
  82. rh_status_q() { 
  83.     rh_status >/dev/null 2>&1 
  84.  
  85. case "$1" in 
  86.     start) 
  87.         rh_status_q && exit 0 
  88.         $1 
  89.         ;; 
  90.     stop) 
  91.         rh_status_q || exit 0 
  92.         $1 
  93.         ;; 
  94.     restart|configtest) 
  95.         $1 
  96.         ;; 
  97.     reload) 
  98.         rh_status_q || exit 7 
  99.         $1 
  100.         ;; 
  101.     force-reload) 
  102.         force_reload 
  103.         ;; 
  104.     status) 
  105.         rh_status      
  106.         ;; 
  107.     condrestart|try-restart) 
  108.         rh_status_q || exit 0             
  109.         ;; 
  110.     *) 
  111.         echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}" 
  112.         exit 2 
  113. esac  

* 改變nginx腳本文件權(quán)限

  1. [root@nginx ~]# chmod 755 /etc/init.d/nginx 

* 添加進(jìn)service管理服務(wù)并設(shè)置開機(jī)啟動

  1. [root@nginx ~]# chkconfig --add nginx 
  2.  
  3. [root@nginx ~]# chkconfig nginx on  

5. 服務(wù)啟動測試

  1. [root@nginx ~]# service nginx start  

 

 

 

可以看到80默認(rèn)的80端口nginx已經(jīng)開始監(jiān)聽

6. 訪問測試

* 通過瀏覽器測試, 此nginx宿主機(jī)ip為192.168.222.128 

 

 

 

訪問成功,nginx已經(jīng)成功返回頁面

7. 總結(jié)

以需求驅(qū)動技術(shù),技術(shù)本身沒有優(yōu)略之分,只有業(yè)務(wù)之分。

責(zé)任編輯:龐桂玉 來源: 51CTO博客
相關(guān)推薦

2017-03-20 15:08:04

RedisNoSQLcentos6

2014-07-30 10:35:34

Linux系統(tǒng)啟動

2014-08-05 16:30:12

CentOS6LAMP

2021-04-13 15:09:16

CentOS6EOL項(xiàng)目

2021-06-24 14:45:33

AWS 應(yīng)用程序NGINX

2010-01-15 20:59:54

2011-05-10 13:54:36

CentOS 6

2022-07-12 17:24:48

NginxDocker

2010-01-14 17:37:34

CentOS prev

2013-04-10 15:12:03

MySQL 5.6

2010-02-23 13:41:00

2014-11-28 11:20:54

LEMPNginxMariaDB

2011-08-15 14:05:42

CentOS 6

2021-01-04 08:15:16

CentOS 7Python3.9Python

2011-07-27 10:06:53

RHEL 6Oracle 10g

2015-05-25 19:34:06

KickstartCentOS

2013-12-04 14:45:22

2022-12-06 08:44:20

2012-08-08 10:10:30

CentOS 6操作系統(tǒng)

2010-04-06 10:00:52

CentOS系統(tǒng)
點(diǎn)贊
收藏

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