热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Nginx在Linux环境下安装和增加新模块

Nginx在Linux环境下安装和增加新模块在Linux环境

Nginx 在Linux环境下安装和增加新模块

在Linux环境下安装Nginx,以及安装完成以后增加新模块。两种模块编译方式——静态编译和动态编译。

1、测试环境

CentOS 7;
Nginx-1.22.1
依赖环境安装

yum install -y gcc-c++ \
pcre pcre-devel \
zlib zlib-devel \
openssl openssl-devel

2、Nginx安装

2.1 下载和安装

下载链接 nginx: download

新建一个Nginx安装目录,解压安装文件

mkdir -p /soft/ngxinstall
cp /mnt/data/nginx-1.22.1.tar.gz /soft/ngxinstall/
tar -xzvf /soft/ngxinstall/nginx-1.22.1.tar.gz

切换路径到nginx安装目录,使用默认配置安装

cd /soft/ngxinstall/nginx-1.22.1
./configure
make
make install

查看安装路径

whereis nginx
#默认配置下查看nginx版本信息
/usr/local/nginx/sbin/nginx -V

2.2 增加模块

以vts模块为例,进行演示

下载vts模块

下载链接 GitHub - vozlt/nginx-module-vts: Nginx virtual host traffic status module

解压缩

#移动文件
cp /mnt/data/nginx-module-vts-master.zip /soft/
#解压缩
cd /soft
unzip /soft/nginx-module-vts-master.zip

查看Nginx安装参数

/usr/local/nginx/sbin/nginx -V

# 例如如下输出
nginx version: nginx/1.22.1
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)
configure arguments:--with-stream

进入Nginx文件目录,注意不要make install

cd /soft/ngxinstall/nginx-1.22.1
./configure --with-stream --add-module=/soft/nginx-module-vts-master
make

备份旧的Nginx

cp -r /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx-`date "+%Y%m%d-%H%M%S"`.bak

复制前停止nginx

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

复制编译好的Nginx

cp -r objs/nginx /usr/local/nginx/sbin/nginx

2.3 编译增加动态模块

进入Nginx文件目录

1、–add-dynamic-module=path

2、make modules

cd /soft/ngxinstall/nginx-1.22.1
./configure --with-stream \
--add-dynamic-module=/soft/nginx-module-vts-master \
--add-dynamic-module=/soft/nginx-module-sts-master \
--add-dynamic-module=/soft/nginx-module-stream-sts-master \
--with-compat
make modules

将动态模块复制到安装目录

cp objs/*.so /usr/local/nginx/modules/

在nginx.conf 中加载动态模块

#load_module modules/ngx_module_name.so;
load_module modules/ngx_http_stream_server_traffic_status_module.so;
load_module modules/ngx_http_vhost_traffic_status_module.so;
load_module modules/ngx_stream_server_traffic_status_module.so;

检查nginx配置是否正确

/usr/local/nginx/sbin/nginx -t

报错:

nginx: [emerg] module “.so” is not binary compatible in /usr/local/nginx/conf/nginx.conf

nginx: [emerg] dlopen() “.so” failed (.so: undefined symbol: ngx_ ) in /usr/local/nginx/conf/nginx.conf

如果动态模块加载不成功,可以使用nginx -v命令,检查Nginx的编译参数和编译模块时使用的编译参数是否一致


推荐阅读
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 本文讨论了在手机移动端如何使用HTML5和JavaScript实现视频上传并压缩视频质量,或者降低手机摄像头拍摄质量的问题。作者指出HTML5和JavaScript无法直接压缩视频,只能通过将视频传送到服务器端由后端进行压缩。对于控制相机拍摄质量,只有使用JAVA编写Android客户端才能实现压缩。此外,作者还解释了在交作业时使用zip格式压缩包导致CSS文件和图片音乐丢失的原因,并提供了解决方法。最后,作者还介绍了一个用于处理图片的类,可以实现图片剪裁处理和生成缩略图的功能。 ... [详细]
  • CEPH LIO iSCSI Gateway及其使用参考文档
    本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
  • centos安装Mysql的方法及步骤详解
    本文介绍了centos安装Mysql的两种方式:rpm方式和绿色方式安装,详细介绍了安装所需的软件包以及安装过程中的注意事项,包括检查是否安装成功的方法。通过本文,读者可以了解到在centos系统上如何正确安装Mysql。 ... [详细]
  • 本文介绍了200个经典c语言源代码,包括函数的使用,如sqrt函数、clanguagefunct等。这些源代码可以帮助读者更好地理解c语言的编程方法,并提供了实际应用的示例。 ... [详细]
  • Centos下安装memcached+memcached教程
    本文介绍了在Centos下安装memcached和使用memcached的教程,详细解释了memcached的工作原理,包括缓存数据和对象、减少数据库读取次数、提高网站速度等。同时,还对memcached的快速和高效率进行了解释,与传统的文件型数据库相比,memcached作为一个内存型数据库,具有更高的读取速度。 ... [详细]
  • 本文讨论了如何使用GStreamer来删除H264格式视频文件中的中间部分,而不需要进行重编码。作者提出了使用gst_element_seek(...)函数来实现这个目标的思路,并提到遇到了一个解决不了的BUG。文章还列举了8个解决方案,希望能够得到更好的思路。 ... [详细]
  • 本文介绍了在无法联网的情况下,通过下载rpm包离线安装zip和unzip的方法。详细介绍了如何搜索并下载合适的rpm包,以及如何使用rpm命令进行安装。 ... [详细]
  • Hello.js 是一个用于连接OAuth2服务的JavascriptRESTFULAPI库,如Go ... [详细]
  • centos php部署到nginx 404_NodeJS项目部署到阿里云ECS服务器全程详解
    本文转载自:http:www.kovli.com20170919ecs-deploy作者:Kovli本文详细介绍如何部署NodeJS项目到阿里云ECS上, ... [详细]
  • linux下编译安装lnmp
    2019独角兽企业重金招聘Python工程师标准#######################安装依赖#####################安装必要的包:y ... [详细]
  • centos6.8 下nginx1.10 安装 ... [详细]
  • 基于SSL的mysql服务器的主从架构实现说明:本文选用172.16.22.1作为主服务器,172.16.22.3作为从服务器从服务器的mysql软件版 ... [详细]
  • linux下的mesa一般版本比较低,按照高版本mesa1.下载代码下载路径:https:www.mesa3d.org用git下载容易失败。用Downl ... [详细]
author-avatar
天河体育场里的执波仔_287
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有