51Testing软件测试论坛

标题: nginx常用命令及简单配置 [打印本页]

作者: 一纸荒年    时间: 2019-4-1 14:35
标题: nginx常用命令及简单配置
本帖最后由 一纸荒年 于 2019-4-1 14:40 编辑
  1. nginx常用命令
  2.         nginx -c /usr/local/nginx/conf/nginx.conf  启动nginx(windows下start nginx);
  3.         nginx -s quit                 停止ngix
  4.         nginx -s reload         重新载入nginx(当配置信息发生修改时)
  5.         nginx -s reopen         打开日志文件
  6.         nginx -v                        查看版本
  7.         nginx -t                        查看nginx的配置文件的目录
  8.         nginx -h                          查看帮助信息


  9. linux下搭建nginx环境
  10.         pwd 查看当前目录
  11.         cd /home/download  找到nginx安装包
  12.         tar -zxvf nginx-1.10.3.tar.gz         解压nginx安装包
  13.         cd nginx-1.10.3         进入nginx的目录
  14.         ./configure                运行nginx配置文件(如果出现错误,可能缺少库文件,安装后再执行这一步)
  15.                 su         进入root权限,回车后输入密码
  16.                 cd /        进入到根目录
  17.                 yum -y install gcc gcc-c++ autoconf automake         安装gcc和gcc-c++(-y安装时选择同意选项,autoconf automake 自动配置自动安装,出现complete安装成功)
  18.                 yum -y install pcre pcre-devel 安装pcre库
  19.                 yum -y install zlib zlib-devel 安装zlip库
  20.         ./configure         进入到nginx目录再运行一次,直到成功后
  21.         make         编译
  22.         make install 安装nginx
  23.         cd /usr/local->ls        查看是否有nginx,如果有则安装完成
  24.         cd nginx        conf目录放着配置文件 htmL放着网页程序 logs放着日志文件 sbin放着nginx的启动程序
  25.         /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf          启动nginx
  26.         浏览器打开localhost查看
  27.                
  28. windows下安装
  29.         下载解压安装包后直接双击运行nginx.exe配置文件(或者start nginx命令)
  30.         浏览器打开localhost查看


  31. linux将nginx配置到全局
  32.         cd ~        进入用户根目录
  33.         ls -a        查看所有文件(包含隐藏)
  34.         vim .bashrc 进入环境变量配置文件
  35.         export NGINX=/usr/local/nginx/sbin/nginx
  36.         PATH=$PATH:$NGINX        修改环境变量
  37.         :qw 保存退出 (:q! 不保存退出ctrl d向下翻页ctrl u向上翻页)
  38.         source .bashrc 修改后的配置文件生效

  39. nginx配置文件修改
  40.         nginx -t         查看nginx配置文件目录
  41.         cp nginx.conf nginx_bf.conf         将配置文件备份一下
  42.         vim /user/local/nginx/conf/nginx.conf 打开nginx配置文件

  43.         vim命令
  44.                 :q! 不保存退出
  45.                 :qw 保存退出
  46.                 ctrl d向下翻页
  47.                 ctrl u向上翻页
  48.         nginx -s reload          当配置信息发生修改时,重新载入nginx,才能生效

  49. nginx配置文件说明
  50.       worker_processes  1;                 //开启进程数小于CPU数
  51.       error_log  logs/error.log;  //自定义错误日志保存位置,全局设置,默认logs/error.log
  52.       events {
  53.           worker_connections  1024;        //每个进程最大连接数(最大连接=连接数x进程数)每个worker允许同时产生多少个链接,默认1024
  54.       }
  55.       
  56.       http {
  57.           include       mime.types;                //文件扩展名与文件类型映射表
  58.           default_type  application/octet-stream;         //默认文件类型
  59.           log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '        //自定义日志文件输出格式 全局设置
  60.                     '$status $body_bytes_sent "$http_referer" '
  61.                     '"$http_user_agent" "$http_x_forwarded_for"';
  62.           access_log  logs/access.log  main;        自定义全局请求日志保存位置,全局设置,默认logs/access.log, 定义格式:文件存储位置 + 日志输出格式
  63.           sendfile        on;         //打开发送文件
  64.           keepalive_timeout  0;         //连接超时时间
  65.           keepalive_timeout  65;
  66.           gzip  on;                //打开gzip压缩
  67.           配置虚拟主机,基于域名、ip和端口,可以配置多个server
  68.           server {
  69.               listen       80;        //监听端口,可以是ip:port 或者 port
  70.               server_name  10.128.166.57; //监听域名,可以是ip或者域名,server_name有三种匹配方式:精准匹配(www.domain.com)、通配符匹配(*.domain.com 、www.*)、正则表达式匹配(~^(?.+)\.domain\.com$)
  71.               access_log  logs/host.access.log  main;         //自定义请求日志,局部,当前server有效
  72.               error_page   500 502 503 504  /50x.html;  //错误页面及其返回地址
  73.               charset UTF-8;        //设置字符集
  74.               location / {         //当访问10.128.166.57:80时
  75.                  proxy_pass http://10.128.166.57:80:8083; //实际上访问的时http://10.128.166.57:80:8083地址
  76.               }
  77.               location ^~/data {         //当访问10.128.166.57:80/data时
  78.                  proxy_pass http://10.128.166.57:80:8084; //实际上访问的时http://10.128.166.57:80:8084地址
  79.               }
  80.               
  81.           }
  82.          
  83.       }


  84. nginx日志分割备份
  85.         mkdir /usr/local/nginx/back_up_logs //创建存放备份文件目录
  86.         vim /usr/local/nginx/sbin/log.sh //创建脚本log.sh
  87.         chmod 755 log.sh //脚本授权
  88.         crontab -e //执行该命令设置定时任务
  89.                 */1 * * * * sh /usr/local/nginx/sbin/log.sh //每分钟执行一次,保存退出即可自动开始执行定时任务
  90.         crontab -l //查看所有定时任务
  91.         crontab -r //删除所有定时任务
  92.         log.sh文件的内容:
  93.                  #!/bin/sh
  94.             #设置基路径
  95.             BASE_DIR=/usr/local/nginx
  96.             #要切割备份的日志文件名
  97.             BASE_FILE_NAME=access.log
  98.             #日志路径
  99.             LOG_PATH=$BASE_DIR/logs
  100.             #日志切割后备份路径
  101.             BAK_PATH=$BASE_DIR/back_up_logs
  102.             #切割日志文件
  103.             LOG_FILE=$LOG_PATH/$BASE_FILE_NAME
  104.             #获取时间
  105.             BAK_TIME=`/bin/date -d yesterday +%Y%m%d%H%M`  //以分钟为单位
  106.             #备份文件
  107.             BAK_FILE=$BAK_PATH/$BAK_TIME-$BASE_FILE_NAME
  108.             echo $BAK_FILE
  109.             #关闭nginx
  110.             $BASE_DIR/sbin/nginx -s stop
  111.             #移动切割文件
  112.             mv $LOG_FILE $BAK_FILE
  113.             #启动nginx
  114.             $BASE_DIR/sbin/ngin



  115. 解决端跨域问题(保证ip和端口相同)修改配置文件\nginx-1.10.3\conf\nginx.conf文件
  116.         server {
  117.         listen       8081;//前端调试打开localhost:8081页面;js文件中后台接口访问localhost:8081/data;这样就保证不跨域了
  118.         server_name  localhost;
  119.         access_log  logs/host.access.log  main;
  120.         location / {        //访问localhost:8081实际上访问是前端端口http://localhost:8080/
  121.             proxy_pass http://localhost:8080/;
  122.         }
  123.         location ^~ /data {//访问localhost:8081/data实际上访问是后端接口http://10.128.166.42:8533/
  124.             proxy_pass http://10.128.166.42:8533/;
  125.         }
复制代码
[attach]123510[/attach]




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2