日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

nginx编译安装与配置使用

發布時間:2023/11/29 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 nginx编译安装与配置使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

第一部分----nginx基本應用

源碼編譯安裝nginx

1、安裝pcre軟件包(使nginx支持http rewrite模塊)

yum?install?-y?pcre yum?install?-y?pcre-devel

2、安裝openssl-devel(使nginx支持ssl)

yum?install?-y?openssl-devel

3、創建用戶nginx

useradd?nginx passwd?nginx

4、安裝nginx

[root@localhost?~]tar?-vzxf?nginx-1.11.3.tar.gz?-C?/usr/local [root@localhost?~]cd?nginx-1.11.3/ [root@localhost?nginx-1.11.3]#?./configure?\ >?--group=nginx?\ >?--user=nginx?\ >?--prefix=/usr/local/nginx?\ >?--sbin-path=/usr/sbin/nginx?\ >?--conf-path=/etc/nginx/nginx.conf?\ >?--error-log-path=/var/log/nginx/error.log?\ >?--http-log-path=/var/log/nginx/access.log?\ >?--http-client-body-temp-path=/tmp/nginx/client_body?\ >?--http-proxy-temp-path=/tmp/nginx/proxy?\ >?--http-fastcgi-temp-path=/tmp/nginx/fastcgi?\ >?--pid-path=/var/run/nginx.pid?\ >?--lock-path=/var/lock/nginx?\ >?--with-http_stub_status_module?\ >?--with-http_ssl_module?\ >?--with-http_gzip_static_module?\ >?--with-pcre [root@localhost?nginx-1.11.3]#?make?&&make?install

5、修改配置文件/etc/nginx/nginx.conf

#全局參數設置 worker_processes??1;?????#設置nginx啟動進程的數量,一般設置成與邏輯cpu數量相同 error_log??logs/error.log;????#指定錯誤日志 worker_rlimit_nofile?102400;????#設置一個nginx進程能打開的最大文件數 pid????????/var/run/nginx.pid;events?{worker_connections??1024;???#設置一個進程的最大并發連接數 }#http服務相關設置 http?{include???????mime.types;default_type??application/octet-stream;log_format??main??'$remote_addr?-?$remote_user?[$time_local]?"$request"?''$status?$body_bytes_sent?"$http_referer"?''"$http_user_agent"?"$http_x_forwarded_for"';access_log??/var/log/nginx/access.log??main;????#設置訪問日志的位置和格式sendfile????????on;?#是否調用sendfile函數輸出文件,一般設置為on,若nginx是用來進行磁盤IO負載應用時,可以設置為off,降低系統負載gzip????????????on;?#是否開啟gzip壓縮keepalive_timeout??65;??????#設置長連接的超時時間 #虛擬服務器的相關設置server?{listen???????80;????????#設置監聽的端口server_name??localhost;?????????#設置綁定的主機名、域名或ip地址charset?koi8-r;????#設置編碼字符location?/?{root???/var/www/nginx;??????#設置服務器默認網站的根目錄位置index??index.html?index.htm;????????#設置默認打開的文檔}error_page???500?502?503?504??/50x.html;????????#設置錯誤信息返回頁面location?=?/50x.html?{root???html;????????#這里的絕對位置是/var/www/nginx/html}}}

6、檢測nginx配置文件是否正確

nginx?-t

7、啟動nginx服務

nginx

8、通過nginx -s控制nginx服務

nginx?-s?stop?????#停止服務 nginx?-s?quit?????#退出服務 nginx?-s?reopen????#重新打開日志文件 nginx?-s?reload????#重新加載配置文件

9、實現nginx開機自啟

????1、vim /etc/init.d/nginx

#!/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?0nginx="/usr/sbin/nginx" prog=$(basename?$nginx)NGINX_CONF_FILE="/etc/nginx/nginx.conf"[?-f?/etc/sysconfig/nginx?]?&&?.?/etc/sysconfig/nginxlockfile=/var/lock/subsys/nginxmake_dirs()?{#?make?required?directoriesuser=`nginx?-V?2>&1?|?grep?"configure?arguments:"?|?sed?'s/[^*]*--user=\([^?]*\).*/\1/g'?-`options=`$nginx?-V?2>&1?|?grep?'configure?arguments:'`for?opt?in?$options;?doif?[?`echo?$opt?|?grep?'.*-temp-path'`?];?thenvalue=`echo?$opt?|?cut?-d?"="?-f?2`if?[?!?-d?"$value"?];?then#?echo?"creating"?$valuemkdir?-p?$value?&&?chown?-R?$user?$valuefifidone }start()?{[?-x?$nginx?]?||?exit?5[?-f?$NGINX_CONF_FILE?]?||?exit?6make_dirsecho?-n?$"Starting?$prog:?"daemon?$nginx?-c?$NGINX_CONF_FILEretval=$?echo[?$retval?-eq?0?]?&&?touch?$lockfilereturn?$retval }stop()?{echo?-n?$"Stopping?$prog:?"killproc?$prog?-QUITretval=$?echo[?$retval?-eq?0?]?&&?rm?-f?$lockfilereturn?$retval }restart()?{configtest?||?return?$?stopsleep?1start }reload()?{configtest?||?return?$?echo?-n?$"Reloading?$prog:?"killproc?$nginx?-HUPRETVAL=$?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"?instart)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--------------------------------------------------------------------------

? ? 2、添加權限

chmod?+x?/etc/init.d/nginx

????3、設置開機自啟

chkconfig?nginx?on

10、nginx日志文件詳解

????nginx日志文件分為log_format和access_log兩部分

????log_format定義記錄的格式,其語法格式為

????????log_format????????樣式名稱????????樣式詳情

????配置文件中默認有

?log_format??main??'$remote_addr?-?$remote_user?[$time_local]?"$request"?''$status?$body_bytes_sent?"$http_referer"?''"$http_user_agent"?"$http_x_forwarded_for"';
變量說明

$remote_addr和$http_x_forwarded_for

客戶端的ip
$remote_user客戶端的名稱
$time_local訪問時的本地時間
$request請求的URL和http協議
$status訪問的狀態碼
$body_bytes_sent發送給客戶端的主體內容大小
$http_referer記錄客戶端是從哪個頁面鏈接訪問過來的,若沒有鏈接,則訪問‘-’
$http_user_agent記錄客戶端使用的瀏覽器的相關信息


????access_log主要指定使用哪種格式記錄和日志文件的位置,其語法格式為

access_log????日志文件路徑????????樣式名稱

????如:

access_log????/var/log/nginx/access.log????main;

下面是日志內容的截圖示例


第二部分-----nginx高級應用

????1、使用alias實現虛擬目錄

location?/lzs?{alias?/var/www/lzs;index?index.html;????????#訪問http://x.x.x.x/lzs時實際上訪問的是/var/www/lzs/index/html

????2、通過stub_status模塊監控nginx的工作狀態

????????1、通過nginx -V命令查看是否已安裝stnb_status模塊

(可以發現已經安裝了~~~)

????????

????????2、編輯/etc/nginx/nginx.conf配置文件

#添加以下內容~~ location?/nginx-status?{stub_status?on;access_log????/var/log/nginx/nginxstatus.log;????#設置日志文件的位置auth_basic????"nginx-status";????#指定認證機制(與location后面的內容相同即可)auth_basic_user_file????/etc/nginx/htpasswd;????????#指定認證的密碼文件}

????????3、創建認證口令文件并添加用戶lzs和zsgg,密碼用md5加密

htpasswd?-c?-m?/etc/nginx/htpasswd?lzs htpasswd?-m?/etc/nginx/htpasswd?zsgg

????????4、重啟服務

????????5、客戶端訪問http://x.x.x.x/nginx-status即可


????3、使用limit_rate限制客戶端傳輸數據的速度

????????? ?1、編輯/etc/nginx/nginx.conf

location?/?{root????/var/www/nginx;index????index.html;limit_rate????2k;????????#對每個連接的限速為2k/s

????????????2、重啟服務

注意要點:

????1、配置文件中的每個語句要以;結尾

????2、使用htpasswd命令需要先安裝httpd

轉載于:https://blog.51cto.com/lzs66/1844964

總結

以上是生活随笔為你收集整理的nginx编译安装与配置使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。