首页 > 系统相关 >nginx stream 模块 编辑

nginx stream 模块 编辑

时间:2024-03-26 22:24:51浏览次数:26  
标签:http stream Nginx -- module nginx 模块 path

###  一下为nginx-1.25.3 版本为例,环境 Cent OS 7.6 !

一、下载编辑

在 CentOS 中安装 Nginx 并包含特定模块,你需要从源代码编译 Nginx。以下是具体步骤:

1. 首先,你需要安装一些必要的开发工具和库。在命令行中输入以下命令:

```bash
sudo yum install gcc-c++ pcre pcre-devel zlib zlib-devel make openssl openssl-devel
```

2. 然后,你需要下载 Nginx 的源代码。你可以从 Nginx 的官方网站下载最新版本的源代码,或者直接使用 wget 命令下载:

```bash
wget http://nginx.org/download/nginx-1.25.3.tar.gz
```

3. 解压下载的源代码包:

```bash
tar -zxvf nginx-1.25.3.tar.gz
```

4. 进入源代码目录:

```bash
cd nginx-1.25.3
```

5. 配置编译选项。你可以根据需要选择你要包含的模块。下面的命令包含了你提供的 Nginx 版本中的所有模块:

```bash
./configure --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-compat --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module
```

6. 编译和安装 Nginx:

```bash
make
sudo make install
```

7. 最后,你可以使用以下命令来检查 Nginx 是否已经正确安装,以及是否包含了你需要的模块:

```bash
nginx -V
```

这个命令应该会显示出你的 Nginx 版本,以及你在编译时包含的模块。

请注意,编译安装 Nginx 需要一定的 Linux 基础知识,并且如果你在编译或安装过程中遇到任何问题,你可能需要根据错误信息来解决。

 

二、添加守护进程

从错误信息来看,系统中似乎没有找到名为 `nginx.service` 的服务单元。这可能是因为你是通过源码编译安装的 Nginx,而不是通过包管理器(如 yum 或 apt)安装的,因此没有自动创建 systemd 服务文件。你可以手动创建一个 systemd 服务文件来管理 Nginx。

以下是一个基本的 Nginx systemd 服务文件示例,你可以将其保存为 `/etc/systemd/system/nginx.service`:

```bash
[Unit]
Description=The nginx HTTP and reverse proxy server
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t
ExecStart=/usr/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target
```

你可以根据你的实际情况修改上面的文件路径和参数。

创建服务文件后,你需要重新加载 systemd 的配置,然后启动 Nginx:

```bash
sudo systemctl daemon-reload
sudo systemctl start nginx
```

如果你想让 Nginx 在系统启动时自动运行,你可以使用以下命令:

```bash
sudo systemctl enable nginx
```

请注意,你需要有 root 权限才能执行上述操作。

 

三、启动找不到目录问题解决(目前解决没有client_temp 目录找不到)

从你的 journalctl 输出中,我们可以看到新的错误信息:`mkdir() "/var/cache/nginx/client_temp" failed (2: No such file or directory)`。这表明 Nginx 试图访问 `/var/cache/nginx/client_temp` 目录,但是这个目录不存在。

你可以通过以下命令来创建这个目录,并给 "nginx" 用户和组赋予相应的权限:

```bash
sudo mkdir -p /var/cache/nginx/client_temp
sudo chown -R nginx:nginx /var/cache/nginx
```

这里,`mkdir -p` 命令会创建指定的目录,如果父目录不存在,它也会被创建。`chown -R nginx:nginx` 命令会将 `/var/cache/nginx` 及其所有子目录的所有者和组更改为 "nginx"。

创建目录并更改权限之后,你可以再次尝试启动 Nginx 服务:

```bash
sudo systemctl start nginx.service
```

然后,你可以通过以下命令来检查 Nginx 服务的状态:

```bash
systemctl status nginx.service
```

 

四、重新编译(如果不小心把nginx.conf 配置弄错了可以重新编译)

如果你需要重新编译 Nginx,你可以按照以下步骤进行:

1. 首先,你需要停止运行的 Nginx 服务。你可以使用以下命令:

```bash
sudo systemctl stop nginx
```

或者如果你的系统没有使用 systemd,你可以使用以下命令:

```bash
sudo service nginx stop
```

2. 然后,进入你之前解压 Nginx 源代码的目录,执行 `make clean` 命令来清除之前的编译结果:

```bash
cd nginx-1.25.3
make clean
```

3. 重新执行 `configure` 命令来配置编译选项。你可以修改 `configure` 命令的参数来包含或排除你需要的模块。例如:

```bash
./configure --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-compat --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module
```

4. 重新执行 `make` 和 `sudo make install` 命令来编译和安装 Nginx:

```bash
make
sudo make install
```

5. 重新启动 Nginx 服务:

```bash
sudo systemctl start nginx
```

或者如果你的系统没有使用 systemd,你可以使用以下命令:

```bash
sudo service nginx start
```

6. 检查 Nginx 的版本和模块,确保你的修改已经生效:

```bash
nginx -V
```

请注意,重新编译 Nginx 时,你需要确保 Nginx 服务已经停止,否则可能会出现问题。此外,你也需要确保你的编译选项是正确的,否则 Nginx 可能无法正确编译或运行。

 

标签:http,stream,Nginx,--,module,nginx,模块,path
From: https://www.cnblogs.com/Monarsoft/p/18097760

相关文章

  • Stream流收集
    publicclassTest06{publicstaticvoidmain(String[]args){ArrayList<Integer>list01=newArrayList<>();for(inti=0;i<=10;i++){list01.add(i);}//filter负责过滤数据//collect负......
  • 统计Nginx访问量
    统计PV,UV数统计所有的PV数cataccess.log|wc-l复制统计当天的PV数cataccess.log|sed-n/`date"+%d\/%b\/%Y"`/p|wc-l复制统计指定某一天的PV数cataccess.log|sed-n'/20\/Aug\/2019/p'|wc-l复制根据访问IP统计UVawk'{print$1}'......
  • 分析nginx日志统计接口情况
    一、背景近来打算对后端接口进行优化,所以要先对现有接口的情况进行统计。因为相关业务接口是index.php?action=XXX的形式,所以公司运维的管理平台并不能满足需求,所以要自行处理nginx日志获取接口的情况了。二、处理思路1.nginx日志中不止包含相关接口的日志,所以先要根据关键字......
  • 计算机各硬件模块负责的功能
    cpu       数学计算  字符操作  ,高速缓存  多次使用的指针 全局变量GPU      图形相关3维度物理学数学计算南北桥     鼠标键盘,CPU到南北桥到显卡和显卡GET内存  ,  显存不够使用内存条内存硬盘      ......
  • 使用 GoAccess 分析 Nginx 日志
    来源:https://cloud.tencent.com/developer/article/1449085 GoAccess是一款开源的且具有交互视图界面的实时Web日志分析工具,通过你的Web浏览器或者*nix系统下的终端程序(Terminal)即可访问。GoAccess能为系统管理员提供快速且有价值的HTTP访问统计,并以在线可视化......
  • 0101支付安全-支付模块-项目实战
    文章目录一、信息安全的基础-机密性1相关概念2对称加密和非对称加密二、身份认证三摘要算法四、数字签名五、数字证书结语在支付过程中,设计多方的敏感信息,那么安全尤为重要。下面先简单介绍下,相关概念。一、信息安全的基础-机密性1相关概念明文:加密前的消......
  • Java中list.stream()各种常用方法汇总
    Java中list.stream各种常用方法汇总1.数据筛选-`filter()`filter()内值判断是否为true,横向筛选2.数据转换-`map()`map()内值是获取某个字段属性3.数据收集-`collect()`4.条件判断-`anyMatch()`,`allMatch()`,`noneMatch()`5.排序-`sorted()`6.遍历-......
  • 自然语言处理下载nltk模块库
    nltk安装目录nltk安装1.官方下载2.离线下载2.1下载nltk资料包2.2解压下载的资料包重命名2.2.1将解压后的packages文件夹重命名为nltk_data2.2.2查看将重命名的文件夹放在那个位置2.2.3将上述nltk_data文件夹放在2.2.2打印的位置处3.验证是否下载成功1.官......
  • 开发一款打车APP功能模块
       开发一款打车APP的功能,就是要先确认给你的需求,再设计好软件的UI,后期才能交给程序开发。   预车功能:用户提前选择约车的时间,地点,司机看到订单前往目的地接人。   路况显示:展示当前道路的实际情况,帮助司机贺乘客规划路线。   平台活动:提供各种优惠活动,如优......
  • Python数据库模块(sqlite3,SQLite3)
    一、sqlite命令创建数据库:在控制台sqlite3name.databases查看数据库.tables查看表格名databaseName.dump>dumpName将数据库存在文本文件dumpName中,恢复就用databaseName<dumpName;attachdatabase......