最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Nginx服務(wù)器初期基本配置指南

 更新時間:2016年01月06日 11:08:43   作者:Snowolf  
這篇文章主要介紹了Nginx服務(wù)器初期基本配置指南,包括重定向以及基本的負(fù)載均衡配置等,需要的朋友可以參考下

一、準(zhǔn)備
pcre,有關(guān)正則表達式匹配;zlib,用于壓縮。這些就不細(xì)說了,如果要安裝最簡版的nginx,記得準(zhǔn)備好這兩樣?xùn)|西就好了。
用root賬戶啟動服務(wù)是比較危險的!  前段時間,測試服務(wù)器被黑掉了,終歸到底是通過一個root啟動的服務(wù)上傳了木馬,最后連ssh都屏蔽了,活生生成為一臺肉雞。。。
所以,慘痛的經(jīng)驗告訴我,一定要為服務(wù)建立對應(yīng)的組和用戶,限制訪問權(quán)限,降低風(fēng)險! 
這里為nginx建立一個www組,并建立一個不登錄的賬戶nginx:

#追加一個www組 
groupadd -f www 
#追加一個nginx用戶 
useradd -s /sbin/nologin -g www nginx 


建立一個目錄用于存放nginx日志文件,并賦予相應(yīng)權(quán)限:

#建立nginx日志目錄 
mkdir /var/log/nginx 
#賦予訪問權(quán)限 
chown nginx.www /var/log/nginx 


二、編譯安裝
我把pcre、zlib、nginx的壓縮包都放在了/opt/software路徑下,服務(wù)要裝在/opt/servers路徑下。
先對pcre、zlib、nginx解壓,然后編譯安裝:

./configure --prefix=/opt/servers/nginx \ 
--user=nginx \ 
--group=www \ 
--pid-path=/var/run/nginx.pid \ 
--error-log-path=/var/log/nginx/error.log \ 
--http-log-path=/var/log/nginx/access.log \ 
--with-pcre=/opt/software/pcre-8.10 \ 
--with-zlib=/opt/software/zlib-1.2.5 \ 
--with-http_stub_status_module \ 
--with-http_realip_module \ 
--with-http_gzip_static_module \ 
--without-http_fastcgi_module \ 
--without-http_memcached_module \ 
--without-http_map_module \ 
--without-http_geo_module \ 
--without-http_autoindex_module \ 
--with-poll_module 
&& make && make install 


三、系統(tǒng)配置
我希望nginx可以作為一個服務(wù),通過service命令啟動或停止。
這樣做的好處是,不論我用什么用戶調(diào)用這個service命令,都不會因為使用錯誤的賬戶帶來安全問題。
建立一個系統(tǒng)文件:

vim /etc/init.d/nginx 


前人栽樹,后人乘涼。已經(jīng)有老鳥做好了啟動配置文件:

#!/bin/bash 
# v.0.0.1 
# create by jackbillow at 2007.10.15 
# nginx - This shell script takes care of starting and stopping nginx. 
# 
# chkconfig: - 60 50 
# description: nginx [engine x] is light http web/proxy server 
# that answers incoming ftp service requests. 
# processname: nginx 
# config: /etc/nginx.conf 
nginx_path="/opt/servers/nginx" 
nginx_pid="/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 
[ -x $nginx_path/sbin/nginx ] || exit 0 
RETVAL=0 
prog="nginx" 
start() { 
# Start daemons. 
if [ -e $nginx_pid -a ! -z $nginx_pid ];then 
  echo "nginx already running...." 
  exit 1 
fi 
if [ -e $nginx_path/conf/nginx.conf ];then 
  echo -n $"Starting $prog: " 
  $nginx_path/sbin/nginx -c $nginx_path/conf/nginx.conf & 
  RETVAL=$? 
  [ $RETVAL -eq 0 ] && { 
    touch /var/lock/subsys/$prog 
    success $"$prog" 
  } 
  echo 
else 
  RETVAL=1 
fi 
  return $RETVAL 
} 
# Stop daemons. 
stop() { 
  echo -n $"Stopping $prog: " 
  killproc -d 10 $nigx_path/sbin/nginx 
  RETVAL=$? 
  echo 
  [ $RETVAL = 0 ] && rm -f $nginx_pid /var/lock/subsys/$prog 
} 
# See how we were called. 
case "$1" in 
start) 
  start 
  ;; 
stop) 
  stop 
  ;; 
restart) 
  stop 
  start 
  ;; 
status) 
  status $prog 
  RETVAL=$? 
  ;; 
*) 
  echo $"Usage: $0 {start|stop|restart|status}" 
  exit 1 
esac 
exit $RETVAL 


注意,這里的路徑:
引用

nginx_path="/opt/servers/nginx" 
nginx_pid="/var/run/nginx.pid" 


如果你的nginx安裝路徑在其它位置,請對應(yīng)修改!
然后賦予這個文件執(zhí)行權(quán)限:

chmod +x /etc/init.d/nginx 


追加為系統(tǒng)服務(wù):

chkconfig --add nginx 
chkconfig nginx on 


現(xiàn)在就可以使用,如下命令控制nginx服務(wù)了!
引用

#啟動nginx 
service nginx start 
#停止nginx 
service nginx stop 
#重啟nginx 
service nginx restart 
#查看nginx狀態(tài) 
service nginx status 


四、基本配置
完成上述工作后,nginx還不能急于投入使用,需要做一些基本配置與優(yōu)化工作。
修改nginx配置文件:

vim /opt/servers/nginx/conf/nginx.conf 

微調(diào)
引用

#使用的用戶和組,這里我們?yōu)閚ginx服務(wù)新建了nginx賬戶和www工作組 
user nginx www; 
#制定的工作衍生進程數(shù)(2倍于CPU內(nèi)核數(shù)) 
worker_processes 4; 
#錯誤日志存放路徑,日志級別由低到高[debug | info | notice | warn | error | crit] 
error_log /var/log/nginx/error.log crit; 
#指定文件描述符數(shù)量 與ulimit -n數(shù)值保持一致 
work_rlimit_nofile 65535; 
events { 
#使用的網(wǎng)絡(luò)I/O模型,Linux用epoll模型,Unix用kqueue模型 
use epoll; 
#允許的連接數(shù) 
worker_connections 51200; 
} 
http{ 
 include  mime.types; 
 default_type application/octet-stream; 
 #追加 '"$sent_http_cache_control" "$sent_http_pl" "$request_time"'獲取請求細(xì)節(jié)信息 
 log_format main '$remote_addr - $remote_user [$time_local] "$request" ' 
      '$status $body_bytes_sent "$http_referer" ' 
      '"$http_user_agent" "$http_x_forwarded_for"' 
      '"$sent_http_cache_control""$sent_http_pl" "$request_time"'; 
 access_log   /var/log/nginx/access.log main; 
 ... 
 server{ 
  ... 
  location / { 
   root html; 
   index index.html index.htm index.jsp index.do; 
   #在header中傳遞請求放host、ip等信息 
   proxy_set_header Host $host; 
   proxy_set_header X-Real-IP $remote_addr; 
   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
   proxy_pass_header Content-Type; 
   proxy_pass_header Content-Disposition; 
   proxy_pass_header Content-Length; 
   ... 
  } 
 } 
} 


五、虛擬目錄
nginx配置虛擬目錄很簡單,主要是運用root、alias兩個指令。
以訪問圖片服務(wù)為例:
root,用于相對路徑
引用

  location /image/ { 
    root /data; 
  } 

當(dāng)我們訪問“/image/”路徑時,實際上訪問的是“/data/image/”,注意“/data”后面不要有“/”
alias,用于絕對路徑
引用

  location /image/ { 
    alias /data/img/; 
  } 

當(dāng)我們訪問“/image/”路徑時,實際上訪問的是“/data/img/”,注意“/data/img/”以“/”結(jié)尾。

六、重定向
有時候鏈接不加考慮就放出去了,突然哪天需要調(diào)整,又不能及時撤回已放出的鏈接地址。只好自己修改nginx配置。
譬如,放出去的鏈接:/activity.do?m=v 想讓它指到/路徑上:
引用

rewrite ^/activity(.*)$ / last;


想要把請求來的參數(shù)也帶上:
引用

rewrite ^/activity(.*)$ /$1 last;


$1指得是第一個參數(shù),以此類推。


六、監(jiān)控
引用

  location /status { 
   stub_status on; 
   access_log off; 
   allow 10.10.0.0/16; 
   allow 10.1.0.0/16; 
   allow 10.11.0.0/16; 

   deny all; 
  }


引用

Active connections: 14 
server accepts handled requests 
62 62 302 
Reading: 0 Writing: 3 Waiting: 11 


七、日志分割

#!/bin/bash 
# THis script run at 00:00 
# author dongliang at 2012-09-07 
# Nginx Log Path 
logs_path="/var/log/nginx/" 
# Nginx PID Path 
nginx_pid="/var/run/nginx.pid" 
 
mkdir -p ${logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/ 
 
mv ${logs_path}access.log ${logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/access_$(date -d "yesterday" +"%Y%m% 
d").log 
 
mv ${logs_path}error.log ${logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/error_$(date -d "yesterday" +"%Y%m%d" 
).log 
 
kill -USR1 `cat $nginx_pid` 


賦予執(zhí)行權(quán)限

chmod +x nginx_log.sh 

凌晨執(zhí)行

crontab -e 
0 0 * * * /opt/script/nginx_log.sh 

八、Nginx負(fù)載均衡
在http{...}中配置一個upstream{...},參考如下:
引用

 upstream tomcat { 
  server 10.11.155.26:8080; 
  server 10.11.155.41:8080; 
 } 

接著修改location節(jié)點,配置代理:
引用

location / { 
  ... 
   proxy_pass http://tomcat; 

  ... 
}

當(dāng)訪問根路徑時,會輪播路由到兩臺服務(wù)器上,至于后端服務(wù)器是tomcat還是jetty之類的,都無所謂,照葫蘆畫瓢就是了。
當(dāng)然,有的機器性能好,或者負(fù)載低,可以承擔(dān)高負(fù)荷訪問量,可以通過權(quán)重(weight),提升訪問頻率。數(shù)值越高,被分配到的請求數(shù)越多。
server指令參數(shù)如下:
weight——權(quán)重,數(shù)值越大,分得的請求數(shù)就越多,默認(rèn)值為1。
max_fails——對訪問失敗的后端服務(wù)器嘗試訪問的次數(shù)。默認(rèn)值為1,當(dāng)設(shè)置為0時將關(guān)閉檢查。
fail_timeout——失效超時時間,當(dāng)多次訪問失敗后,對該節(jié)點暫停訪問。
down——標(biāo)記服務(wù)器為永久離線狀態(tài),用于ip_hash指令。
backup——僅當(dāng)非backup服務(wù)器全部宕機或繁忙時啟用。

例如,可以這樣配置:
引用

 upstream tomcat { 
  server 10.11.155.26:8080 weight=5; 
  server 10.11.155.41:8080 weight=10; 
 } 

后者分得的請求數(shù)就會較高。

相關(guān)文章

  • 詳解阿里云LINUX服務(wù)器配置HTTPS(NGINX)

    詳解阿里云LINUX服務(wù)器配置HTTPS(NGINX)

    本篇文章主要介紹了阿里云LINUX服務(wù)器配置HTTPS(NGINX) ,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • Docker Nginx容器和Tomcat容器實現(xiàn)負(fù)載均衡與動靜分離操作

    Docker Nginx容器和Tomcat容器實現(xiàn)負(fù)載均衡與動靜分離操作

    這篇文章主要介紹了Docker Nginx容器和Tomcat容器實現(xiàn)負(fù)載均衡與動靜分離操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • Nginx搭建圖片視頻服務(wù)器的部署步驟

    Nginx搭建圖片視頻服務(wù)器的部署步驟

    這篇文章主要介紹了Nginx搭建圖片視頻服務(wù)器的部署步驟,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • Nginx漏洞整改實現(xiàn)限制IP訪問&隱藏nginx版本信息

    Nginx漏洞整改實現(xiàn)限制IP訪問&隱藏nginx版本信息

    本文主要介紹了Nginx漏洞整改實現(xiàn)限制IP訪問&隱藏nginx版本信息,通過配置Nginx的ACL,可以輕松實現(xiàn),下面就來具體介紹一下,感興趣的可以了解一下
    2024-03-03
  • 利用nginx和騰訊云免費證書制作https的方法

    利用nginx和騰訊云免費證書制作https的方法

    這篇文章主要介紹了利用nginx和騰訊云免費證書制作https的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11
  • Nginx 禁止訪問某個目錄或文件的設(shè)置方法

    Nginx 禁止訪問某個目錄或文件的設(shè)置方法

    如果基于WEB根目錄下,要禁止用戶訪問/config目錄,或者要禁止用戶訪問/config.ini(ZF常用INI,不過建議還是放到WEB目錄以外的地方),可以通過location進行配置,返回403或者404等
    2010-09-09
  • Nginx服務(wù)器作反向代理實現(xiàn)內(nèi)部局域網(wǎng)的url轉(zhuǎn)發(fā)配置

    Nginx服務(wù)器作反向代理實現(xiàn)內(nèi)部局域網(wǎng)的url轉(zhuǎn)發(fā)配置

    這篇文章主要介紹了Nginx服務(wù)器作反向代理實現(xiàn)內(nèi)部局域網(wǎng)的url轉(zhuǎn)發(fā)實例,文中提到需要注意proxy_read_timeout參數(shù)的相關(guān)調(diào)整,需要的朋友可以參考下
    2016-01-01
  • nginx實現(xiàn)透轉(zhuǎn)的方法步驟

    nginx實現(xiàn)透轉(zhuǎn)的方法步驟

    本文主要介紹了nginx實現(xiàn)透轉(zhuǎn)的方法步驟,實現(xiàn)HTTP與HTTPS請求的客戶端IP地址透傳,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-05-05
  • 詳解nginx反向代理配置及優(yōu)化

    詳解nginx反向代理配置及優(yōu)化

    本篇文章主要介紹了詳解nginx反向代理配置及優(yōu)化,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-12-12
  • Nginx層面配置基礎(chǔ)用戶驗證的完整步驟

    Nginx層面配置基礎(chǔ)用戶驗證的完整步驟

    這篇文章主要給大家介紹了關(guān)于Nginx層面配置基礎(chǔ)用戶驗證的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Nginx具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07

最新評論

香格里拉县| 普陀区| 温州市| 方正县| 崇义县| 什邡市| 库尔勒市| 天津市| 万盛区| 武平县| 台北市| 望谟县| 商城县| 定远县| 瑞安市| 深州市| 新余市| 浮山县| 探索| 盐源县| 咸丰县| 泰顺县| 威远县| 连山| 乌鲁木齐县| 惠来县| 兰考县| 武夷山市| 新邵县| 利川市| 页游| 瓮安县| 讷河市| 海宁市| 贺兰县| 昔阳县| 巴林左旗| 包头市| 临洮县| 宁武县| 剑阁县|