Nginx相关

文章详细描述了在Ubuntu系统上下载并编译Nginx1.21.6,同时添加HTTPFLV模块的步骤。在编译过程中遇到了与rtmp模块的冲突,最终选择了保留FLV模块进行安装。配置中包括了FLV直播设置和RTMP服务器配置,并指出了部分配置如reload和log更新需要重启Nginx才能生效。
wget http://nginx.org/download/nginx-1.21.6.tar.gz
wget GitHub - arut/nginx-rtmp-module: NGINX-based Media Streaming Server

wget https://github.com/winshining/nginx-http-flv-module/archive/refs/heads/master.zip

root@ubuntu:/home/guohua/my-nginx/nginx-1.21.6# ./configure  --with-http_ssl_module --with-http_v2_module --with-http_flv_module --with-http_mp4_module --add-module=../nginx-rtmp-module-master --add-module=../nginx-http-flv-module-master

(同时--add-module=../nginx-rtmp-module-master --add-module=../nginx-http-flv-module-master,编译会有冲突。我最后是去掉了--add-module=../nginx-rtmp-module-master,只留--add-module=../nginx-http-flv-module-master编译通过然后make install 安装,这样Nginx配置中的 flv_live on 和 rtmp { server{ }} 都可以成功配置(有可能是因为之前单独--add-module=../nginx-rtmp-module-master安装过了rtmp))

make -j 40
make install

配置

location /flv {
flv_live on; #reload 不生效,需要重启
chunked_transfer_encoding on;
add_header 'Access-Control-Allow-Origin' '*'; # 允许跨域
add_header 'Access-Control-Allow-Credentials' 'true';
}

rtmp {
    server{              

    listen 1935;
    chunk_size 4096;

    application av {
        play /home/guohua/av/;
    }
    application live {
        live on;
    }

    }

}

vim /usr/local/nginx/conf/nginx.conf

log,配置log之后通过reload不生效,需要重启Nginx才行

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; #必须先创建 /var/log/nginx
error_log /var/log/nginx/err.log;

启动 /usr/local/nginx/sbin/nginx

停止 /usr/local/nginx/sbin/nginx -s stop

重新加载 /usr/local/nginx/sbin/nginx -s reload

root@ubuntu:/home/guohua/my-nginx/nginx-1.21.6# ls /usr/local/nginx/sbin/nginx -v
/usr/local/nginx/sbin/nginx

判断文件是否存在

        if ( $uri ~* "^/resources/(.*)") {
                set $tmpuri $1;
        }

        set $fileroot /NAS/wwwmps/;

        if ( !-e $fileroot$tmpuri) {
                rewrite ^/(.*)$ http://rackbeta.qsh1.cn/s3/$1 break;
                break;
        }

<think>好的,用户需要了解Nginx相关的命令。首先,我要确定用户的使用场景,可能是正在搭建Web服务器或者需要管理现有的Nginx服务。用户可能是开发人员、系统管理员或者刚开始学习的新手,因此需要基础且实用的命令。 接下来,我要回忆常见的Nginx命令,比如启动、停止、重启等操作,这些是基本且重要的部分。同时,配置测试和重新加载配置也很关键,因为修改配置文件后需要正确操作才能生效。另外,日志相关命令可能也是用户需要的,比如查看实时日志或切割日志文件。 需要分门别类组织这些命令,让用户容易查找。例如分为服务管理、配置相关、日志管理和其他实用命令。每个部分下给出具体命令和简要说明,确保用户明白每个命令的作用和使用场景。 还要注意是否需要提醒用户权限问题,比如使用sudo的情况,特别是Ubuntu/Debian和CentOS/RHEL系统下的区别。此外,检查Nginx配置文件的默认路径,不同系统可能有不同位置,需要指出常见的路径。 可能用户会遇到配置错误,所以强调在修改配置后测试语法的重要性,避免服务崩溃。另外,日志文件的位置和实时查看方法对调试问题很有帮助,也应该包含在内。 最后,确保所有命令准确无误,语法正确,避免用户执行时出错。如果有必要,可以给出示例或注意事项,比如日志切割后需要reload让Nginx重新打开日志文件。 总结一下,需要涵盖服务控制、配置测试与重载、日志处理和其他常用命令,结构清晰,步骤明确,帮助用户高效管理Nginx。</think>以下是常用的Nginx命令整理,按场景分类说明: --- ### 一、服务管理命令 1. **启动Nginx** ```bash sudo systemctl start nginx # 系统级服务管理(Ubuntu/CentOS) sudo service nginx start # 旧版系统 ``` 2. **停止Nginx** ```bash sudo systemctl stop nginx sudo nginx -s stop # 直接通过Nginx命令停止 ``` 3. **重启Nginx** ```bash sudo systemctl restart nginx # 完整重启(断开连接) sudo nginx -s reload # 平滑重启(不中断服务,需配置无误) ``` 4. **查看状态** ```bash sudo systemctl status nginx # 检查运行状态和日志片段 ps aux | grep nginx # 查看进程信息 ``` --- ### 二、配置相关命令 1. **测试配置文件语法** ```bash sudo nginx -t # 检查配置文件是否有错误 ``` 2. **重新加载配置** ```bash sudo nginx -s reload # 应用新配置(需先通过 -t 测试) ``` 3. **查看配置文件路径** ```bash nginx -V 2>&1 | grep -o 'conf-path=.*' # 显示主配置文件位置 ``` - 默认路径: - Ubuntu/Debian: `/etc/nginx/nginx.conf` - CentOS/RHEL: `/etc/nginx/nginx.conf` --- ### 三、日志管理 1. **实时查看访问日志** ```bash tail -f /var/log/nginx/access.log ``` 2. **查看错误日志** ```bash tail -f /var/log/nginx/error.log ``` 3. **日志切割(按需归档)** ```bash sudo mv /var/log/nginx/access.log /var/log/nginx/access.log.$(date +%Y%m%d) sudo nginx -s reopen # 重新打开日志文件(需提前配置logrotate) ``` --- ### 四、其他实用命令 1. **查看Nginx版本** ```bash nginx -v # 简略版本 nginx -V # 详细信息(编译参数) ``` 2. **列出加载的模块** ```bash nginx -V 2>&1 | grep --color=auto -o 'with-.*' ``` --- ### 注意事项 1. **权限问题**:操作Nginx服务通常需要`sudo`权限。 2. **配置生效**:修改配置文件后必须执行 `nginx -t` 测试,再通过 `reload` 生效。 3. **日志路径**:实际日志路径可能因配置不同而变化,请以`nginx.conf`中的定义为准。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

tangcpp

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值