- nginx常用命令
- nginx -c /usr/local/nginx/conf/nginx.conf 啟動nginx(windows下start nginx);
- nginx -s quit 停止ngix
- nginx -s reload 重新載入nginx(當(dāng)配置信息發(fā)生修改時(shí))
- nginx -s reopen 打開日志文件
- nginx -v 查看版本
- nginx -t 查看nginx的配置文件的目錄
- nginx -h 查看幫助信息
-
-
- linux下搭建nginx環(huán)境
- pwd 查看當(dāng)前目錄
- cd /home/download 找到nginx安裝包
- tar -zxvf nginx-1.10.3.tar.gz 解壓nginx安裝包
- cd nginx-1.10.3 進(jìn)入nginx的目錄
- ./configure 運(yùn)行nginx配置文件(如果出現(xiàn)錯誤,可能缺少庫文件,安裝后再執(zhí)行這一步)
- su 進(jìn)入root權(quán)限,回車后輸入密碼
- cd / 進(jìn)入到根目錄
- yum -y install gcc gcc-c++ autoconf automake 安裝gcc和gcc-c++(-y安裝時(shí)選擇同意選項(xiàng),autoconf automake 自動配置自動安裝,出現(xiàn)complete安裝成功)
- yum -y install pcre pcre-devel 安裝pcre庫
- yum -y install zlib zlib-devel 安裝zlip庫
- ./configure 進(jìn)入到nginx目錄再運(yùn)行一次,直到成功后
- 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下安裝
- 下載解壓安裝包后直接雙擊運(yùn)行nginx.exe配置文件(或者start nginx命令)
- 瀏覽器打開localhost查看
-
-
- linux將nginx配置到全局
- cd ~ 進(jìn)入用戶根目錄
- ls -a 查看所有文件(包含隱藏)
- vim .bashrc 進(jìn)入環(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 當(dāng)配置信息發(fā)生修改時(shí),重新載入nginx,才能生效
-
- nginx配置文件說明
- worker_processes 1; //開啟進(jìn)程數(shù)小于CPU數(shù)
- error_log logs/error.log; //自定義錯誤日志保存位置,,全局設(shè)置,默認(rèn)logs/error.log
- events {
- worker_connections 1024; //每個進(jìn)程最大連接數(shù)(最大連接=連接數(shù)x進(jìn)程數(shù))每個worker允許同時(shí)產(chǎn)生多少個鏈接,,默認(rèn)1024
- }
-
- http {
- include mime.types; //文件擴(kuò)展名與文件類型映射表
- default_type application/octet-stream; //默認(rèn)文件類型
- log_format main '$remote_addr - $remote_user [$time_local] "$request" ' //自定義日志文件輸出格式 全局設(shè)置
- '$status $body_bytes_sent "$http_referer" '
- '"$http_user_agent" "$http_x_forwarded_for"';
- access_log logs/access.log main; 自定義全局請求日志保存位置,,全局設(shè)置,,默認(rèn)logs/access.log, 定義格式:文件存儲位置 + 日志輸出格式
- sendfile on; //打開發(fā)送文件
- keepalive_timeout 0; //連接超時(shí)時(shí)間
- keepalive_timeout 65;
- gzip on; //打開gzip壓縮
- 配置虛擬主機(jī),,基于域名,、ip和端口,,可以配置多個server
- server {
- listen 80; //監(jiān)聽端口,可以是ip:port 或者 port
- server_name 10.128.166.57; //監(jiān)聽域名,可以是ip或者域名,,server_name有三種匹配方式:精準(zhǔn)匹配(www.domain.com),、通配符匹配(*.domain.com 、www.*),、正則表達(dá)式匹配(~^(?.+)\.domain\.com$)
- access_log logs/host.access.log main; //自定義請求日志,,局部,當(dāng)前server有效
- error_page 500 502 503 504 /50x.html; //錯誤頁面及其返回地址
- charset UTF-8; //設(shè)置字符集
- location / { //當(dāng)訪問10.128.166.57:80時(shí)
- proxy_pass http://10.128.166.57:80:8083; //實(shí)際上訪問的時(shí)http://10.128.166.57:80:8083地址
- }
- location ^~/data { //當(dāng)訪問10.128.166.57:80/data時(shí)
- proxy_pass http://10.128.166.57:80:8084; //實(shí)際上訪問的時(shí)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 //腳本授權(quán)
- crontab -e //執(zhí)行該命令設(shè)置定時(shí)任務(wù)
- */1 * * * * sh /usr/local/nginx/sbin/log.sh //每分鐘執(zhí)行一次,,保存退出即可自動開始執(zhí)行定時(shí)任務(wù)
- crontab -l //查看所有定時(shí)任務(wù)
- crontab -r //刪除所有定時(shí)任務(wù)
- log.sh文件的內(nèi)容:
- #!/bin/sh
- #設(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
- #獲取時(shí)間
- BAK_TIME=`/bin/date -d yesterday +%Y%m%d%H%M` //以分鐘為單位
- #備份文件
- BAK_FILE=$BAK_PATH/$BAK_TIME-$BASE_FILE_NAME
- echo $BAK_FILE
- #關(guān)閉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實(shí)際上訪問是前端端口http://localhost:8080/
- proxy_pass http://localhost:8080/;
- }
- location ^~ /data {//訪問localhost:8081/data實(shí)際上訪問是后端接口http://10.128.166.42:8533/
- proxy_pass http://10.128.166.42:8533/;
- }
|