nginx tar.gz安裝方法+簡單靜態文件配置


1.首先安裝依賴包(依賴包有點多,我們采用yum的方式來安裝)

yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel  

 

2.將nginx-1.7.6.tar.gz上傳到/usr/local/下

  

tar -zxvf nginx-1.7.6.tar.gz  

 

3.編譯

  

cd nginx-1.7.6
./configure   
make
make install  

 

4.啟動

## 檢查配置文件是否正確
# /usr/local/nginx-1.6/sbin/nginx -t
# ./sbin/nginx -V # 可以看到編譯選項
  
## 啟動、關閉
# ./sbin/nginx # 默認配置文件 conf/nginx.conf,-c 指定
# ./sbin/nginx -s stop
或 pkill nginx
  
## 重啟,不會改變啟動時指定的配置文件
# ./sbin/nginx -s reload
或 kill -HUP `cat /usr/local/nginx-1.6/logs/nginx.pid`

 

5.將nginx添加到服務中

 直接復制nginx 文件到/etc/init.d/ 目錄下即可

 

cp nginx /etc/inin.d/

 

然后可以通過service 的指令進行啟動,由於是使用了nginx的腳本,所以指令的參數有些不同

1 啟動: service nginx
2 停止:   service nginx -s stop
3 重啟:   service nginx -s reload

 

自己編寫啟動腳本:

#!/bin/sh 
# 
# nginx - this script starts and stops the nginx daemon 
# 
# chkconfig:   - 85 15 
# description: Nginx is an HTTP(S) server, HTTP(S) reverse \ 
#               proxy and IMAP/POP3 proxy server 
# processname: nginx 
# config:      /etc/nginx/nginx.conf 
# config:      /etc/sysconfig/nginx 
# pidfile:     /var/run/nginx.pid 

# Source function library. 
. /etc/rc.d/init.d/functions 

# Source networking configuration. 
. /etc/sysconfig/network 

# Check that networking is up. 
[ "$NETWORKING" = "no" ] && exit 0 

nginx="/usr/local/nginx/sbin/nginx" 
prog=$(basename $nginx) 

NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf" 

[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx 

lockfile=/var/lock/subsys/nginx 

start() { 
    [ -x $nginx ] || exit 5 
    [ -f $NGINX_CONF_FILE ] || exit 6 
    echo -n $"Starting $prog: " 
    daemon $nginx -c $NGINX_CONF_FILE 
    retval=$? 
    echo 
    [ $retval -eq 0 ] && touch $lockfile 
    return $retval 
} 

stop() { 
    echo -n $"Stopping $prog: " 
    killproc $prog -QUIT 
    retval=$? 
    echo 
    [ $retval -eq 0 ] && rm -f $lockfile 
    return $retval 
killall -9 nginx 
} 

restart() { 
    configtest || return $? 
    stop 
    sleep 1 
    start 
} 

reload() { 
    configtest || return $? 
    echo -n $"Reloading $prog: " 
    killproc $nginx -HUP 
RETVAL=$? 
    echo 
} 

force_reload() { 
    restart 
} 

configtest() { 
$nginx -t -c $NGINX_CONF_FILE 
} 

rh_status() { 
    status $prog 
} 

rh_status_q() { 
    rh_status >/dev/null 2>&1 
} 

case "$1" in 
    start) 
        rh_status_q && exit 0 
    $1 
        ;; 
    stop) 
        rh_status_q || exit 0 
        $1 
        ;; 
    restart|configtest) 
        $1 
        ;; 
    reload) 
        rh_status_q || exit 7 
        $1 
        ;; 
    force-reload) 
        force_reload 
        ;; 
    status) 
        rh_status 
        ;; 
    condrestart|try-restart) 
        rh_status_q || exit 0 
            ;; 
    *)    
      echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}" 
        exit 2 
esac  

 

6.加入開機啟動

1.  vi  /etc/rc.local  

2. 在文件加入一行:/etc/init.d/nginx start

 

7.配置靜態文件服務

  location ^~ /news_file {
          alias /data/attachment/DB40_file/news_file/;
                expires 30d;  #設置瀏覽器過期時間
                #目錄或者文件不存在
                if (!-e $request_filename){
                   return 401;
                }
          #proxy_store on;  #開啟緩存機制
          #proxy_store_access user:rw group:rw all:rw;  #緩存讀寫規則
          #proxy_temp_path b;       #存放靜態文件的緩存目錄
          #include proxy.conf;     #外聯proxy理的詳細配置如proxy_set_header, client_max_body_size ....
        }

8.配置訪問的黑白名單

# 屏蔽單個ip訪問
 
deny IP; 
# 允許單個ip訪問
 
allow IP; 
# 屏蔽所有ip訪問
 
deny all; 
# 允許所有ip訪問
 
allow all; 
#屏蔽整個段即從123.0.0.1到123.255.255.254訪問的命令
 
deny 123.0.0.0/8
#屏蔽IP段即從123.45.0.1到123.45.255.254訪問的命令
 
deny 124.45.0.0/16
#屏蔽IP段即從123.45.6.1到123.45.6.254訪問的命令
 
deny 123.45.6.0/24

一個實例:

    server {
        listen       8804;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        allow 121.15.210.97; --允許單個IP訪問
        allow 172.18.5.0/24; --允許172.18.5.0 - 172.18.5.254 IP段訪問
        deny all; --默認禁止所有IP訪問

        location / {
            root   html;
            index  index.html index.htm;
        }

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM