51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 1782|回复: 0
打印 上一主题 下一主题

[原创] nginx常用命令及简单配置

[复制链接]
  • TA的每日心情
    奋斗
    2021-8-6 16:14
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    跳转到指定楼层
    1#
    发表于 2019-4-1 14:35:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    本帖最后由 一纸荒年 于 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.         }
    复制代码

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-4-25 08:51 , Processed in 0.064719 second(s), 24 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表