- nginx常用命令
- nginx -c /usr/local/nginx/conf/nginx.conf 啟動nginx(windows下start nginx);
- nginx -s quit 停止ngix
- nginx -s reload 重新載入nginx(當配置信息發(fā)生修改時)
- nginx -s reopen 打開日志文件
- nginx -v 查看版本
- nginx -t 查看nginx的配置文件的目錄
- nginx -h 查看幫助信息
-
-
- linux下搭建nginx環(huán)境
- pwd 查看當前目錄
- cd /home/download 找到nginx安裝包
- tar -zxvf nginx-1.10.3.tar.gz 解壓nginx安裝包
- cd nginx-1.10.3 進入nginx的目錄
- ./configure 運行nginx配置文件(如果出現(xiàn)錯誤,可能缺少庫文件,安裝后再執(zhí)行這一步)
- su 進入root權限,回車后輸入密碼
- cd / 進入到根目錄
- yum -y install gcc gcc-c++ autoconf automake 安裝gcc和gcc-c++(-y安裝時選擇同意選項,autoconf automake 自動配置自動安裝,出現(xiàn)complete安裝成功)
- yum -y install pcre pcre-devel 安裝pcre庫
- yum -y install zlib zlib-devel 安裝zlip庫
- ./configure 進入到nginx目錄再運行一次,直到成功后
- make 編譯
- make install 安裝nginx
- cd /usr/local->ls 查看是否有nginx,如果有則安裝完成
- cd nginx conf目錄放著配置文件 htmL放著網(wǎng)頁程序 logs放著日志文件 sbin放著nginx的啟動程序
- /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf 啟動nginx
- 瀏覽器打開localhost查看
-
- windows下安裝
- 下載解壓安裝包后直接雙擊運行nginx.exe配置文件(或者start nginx命令)
- 瀏覽器打開localhost查看
-
-
- linux將nginx配置到全局
- cd ~ 進入用戶根目錄
- ls -a 查看所有文件(包含隱藏)
- vim .bashrc 進入環(huán)境變量配置文件
- export NGINX=/usr/local/nginx/sbin/nginx
- PATH=$PATH:$NGINX 修改環(huán)境變量
- :qw 保存退出 (:q! 不保存退出ctrl d向下翻頁ctrl u向上翻頁)
- source .bashrc 修改后的配置文件生效
-
- nginx配置文件修改
- nginx -t 查看nginx配置文件目錄
- cp nginx.conf nginx_bf.conf 將配置文件備份一下
- vim /user/local/nginx/conf/nginx.conf 打開nginx配置文件
-
- vim命令
- :q! 不保存退出
- :qw 保存退出
- ctrl d向下翻頁
- ctrl u向上翻頁
- nginx -s reload 當配置信息發(fā)生修改時,重新載入nginx,才能生效
-
- nginx配置文件說明
- worker_processes 1; //開啟進程數(shù)小于CPU數(shù)
- error_log logs/error.log; //自定義錯誤日志保存位置,全局設置,默認logs/error.log
- events {
- worker_connections 1024; //每個進程最大連接數(shù)(最大連接=連接數(shù)x進程數(shù))每個worker允許同時產(chǎn)生多少個鏈接,默認1024
- }
-
- 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 logs/access.log main; 自定義全局請求日志保存位置,全局設置,默認logs/access.log, 定義格式:文件存儲位置 + 日志輸出格式
- sendfile on; //打開發(fā)送文件
- keepalive_timeout 0; //連接超時時間
- keepalive_timeout 65;
- gzip on; //打開gzip壓縮
- 配置虛擬主機,基于域名、ip和端口,可以配置多個server
- server {
- listen 80; //監(jiān)聽端口,可以是ip:port 或者 port
- server_name 10.128.166.57; //監(jiān)聽域名,可以是ip或者域名,server_name有三種匹配方式:精準匹配(www.domain.com)、通配符匹配(*.domain.com 、www.*)、正則表達式匹配(~^(?.+)\.domain\.com$)
- access_log logs/host.access.log main; //自定義請求日志,局部,當前server有效
- error_page 500 502 503 504 /50x.html; //錯誤頁面及其返回地址
- charset UTF-8; //設置字符集
- location / { //當訪問10.128.166.57:80時
- proxy_pass http://10.128.166.57:80:8083; //實際上訪問的時http://10.128.166.57:80:8083地址
- }
- location ^~/data { //當訪問10.128.166.57:80/data時
- proxy_pass http://10.128.166.57:80:8084; //實際上訪問的時http://10.128.166.57:80:8084地址
- }
-
- }
-
- }
-
-
- nginx日志分割備份
- mkdir /usr/local/nginx/back_up_logs //創(chuàng)建存放備份文件目錄
- vim /usr/local/nginx/sbin/log.sh //創(chuàng)建腳本log.sh
- chmod 755 log.sh //腳本授權
- crontab -e //執(zhí)行該命令設置定時任務
- */1 * * * * sh /usr/local/nginx/sbin/log.sh //每分鐘執(zhí)行一次,保存退出即可自動開始執(zhí)行定時任務
- crontab -l //查看所有定時任務
- crontab -r //刪除所有定時任務
- log.sh文件的內(nèi)容:
- #!/bin/sh
- #設置基路徑
- BASE_DIR=/usr/local/nginx
- #要切割備份的日志文件名
- BASE_FILE_NAME=access.log
- #日志路徑
- LOG_PATH=$BASE_DIR/logs
- #日志切割后備份路徑
- BAK_PATH=$BASE_DIR/back_up_logs
- #切割日志文件
- LOG_FILE=$LOG_PATH/$BASE_FILE_NAME
- #獲取時間
- BAK_TIME=`/bin/date -d yesterday +%Y%m%d%H%M` //以分鐘為單位
- #備份文件
- BAK_FILE=$BAK_PATH/$BAK_TIME-$BASE_FILE_NAME
- echo $BAK_FILE
- #關閉nginx
- $BASE_DIR/sbin/nginx -s stop
- #移動切割文件
- mv $LOG_FILE $BAK_FILE
- #啟動nginx
- $BASE_DIR/sbin/ngin
-
-
-
- 解決端跨域問題(保證ip和端口相同)修改配置文件\nginx-1.10.3\conf\nginx.conf文件
- server {
- listen 8081;//前端調(diào)試打開localhost:8081頁面;js文件中后臺接口訪問localhost:8081/data;這樣就保證不跨域了
- server_name localhost;
- access_log logs/host.access.log main;
- location / { //訪問localhost:8081實際上訪問是前端端口http://localhost:8080/
- proxy_pass http://localhost:8080/;
- }
- location ^~ /data {//訪問localhost:8081/data實際上訪問是后端接口http://10.128.166.42:8533/
- proxy_pass http://10.128.166.42:8533/;
- }
|