Nginx与Tengine的安装编译

Nginx与Tengine的安装编译
 最后更新于 2024年10月02日 08:05:32

Nginx

Linux环境

系统平台 CentOS 6.8 64位

安装编译工具及库文件
$ yum -y install gcc gcc-c++ make libtool zlib zlib-devel openssl openssl-devel pcre pcre-devel
安装 PCRE

PCRE 作用是让 Nginx 支持 Rewrite 功能

# 下载PCRE包
$ wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz

# 解压
$ tar zxvf pcre-8.35.tar.gz

# 进入源码目录
$ cd pcre-8.35

# 编译
$ .configure
$ make && make install

# 验证
$ pcre-config --version
安装nginx
# 下载
$ wget http://nginx.org/download/nginx-1.12.0.tar.gz

# 解压
$ tar zxvf nginx-1.12.0.tar.gz

# 进入安装包目录
$ cd nginx-1.12.0

# 编译
$ ./configure --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.35
$ make
$ make install

# 验证
$ nginx/sbin/nginx -v
nginx version: nginx/1.12.0
常用编译选项

nginx大部分常用模块,编译时 ./configure 以 `–without开头的都默认安装。

// nginx的安装目录。默认 /usr/local/nginx
–prefix=PATH

// 配置文件nginx.conf的路径。可以使用不同的配置文件启动,通过命令行中的-c选项
–conf-path=PATH

// nginx工作进程的用户。可以在配置文件中更改user指令。默认的用户名是nobody
–user=name

// nginx工作进程的用户组
–group=name

// 设置PCRE库的源码路径。如果已通过yum方式安装,使用–with-pcre自动找到库文件。使用–with-pcre=PATH时,需要从PCRE网站下载pcre库的源码并解压。
–with-pcre

// 指定 zlib的源码解压目录。默认启用的网络传输压缩模块 ngx_http_gzip_module 需要使用zlib
–with-zlib=PATH

// https协议模块。默认情况下,该模块没有被构建。前提是openssl与openssl-devel已安装
–with-http_ssl_module

// 监控 Nginx 的当前状态
–with-http_stub_status_module

// 该模块允许开发者改变请求头中客户端IP地址值(例如X-Real-IP X-Forwarded-For)
–with-http_realip_module

// 添加第三方外部模块,如nginx-sticky-module-ng或缓存模块。每次添加新的模块都要重新编译
–add-module=PATH
常用命令
nginx -s stop        快速关闭nginx,可能不保存相关信息,并迅速终止 web服务(快速退出)
nginx -s quit        平稳关闭nginx,保存相关信息,有安排的结束 web服务(平滑退出)
nginx -s reload      因改变nginx相关配置,需要重新加载配置而重载(重新加载配置)
nginx -s reopen      重新打开日志文件(重新加载日志)
开机自动启动

http://www.cnblogs.com/hanyinglong/p/5102141.html

window 环境

下载nginx安装包

nginx官网 下载与系统对应的安装包,并解压

下载winsw软件

下载 Windows Service Wrapper,复制到 nginx 根目录下,并重命名为 winsw

winsw.exe 下载地址 提取密码: jvka

创建 winsw.xml

打开记事本,复制以下内容,另存为 winsw.xml

# 修改其中的路径为实际路径

<?xml version="1.0" encoding="UTF-8" ?>
<service>
    <id>nginx</id>
    <name>nginx</name>
    <description>nginx</description>
    <executable>D:\nginx\nginx.exe</executable>
    <logpath>D:\nginx\</logpath>
    <logmode>roll</logmode>
    <depend></depend>
    <startargument>-p D:\nginx</startargument>
    <stopargument>-p D:\nginx -s stop</stopargument>
</service>
运行

管理员身份在 cmd 窗口执行 winsw.exe install,安装 nginxwindow服务。以后可以通过net start/stop nginx 管理nginx服务

开机启动

进入 window 服务,找到 nginx 服务并更改为 开机自动启动

Tengine

$ ./configure
$ make
$ sudo make install

Tengine 默认将安装在 /usr/local/nginx 目录。可以用--prefix指定需要的安装目录。

configure 脚本的选项

大部分的选项跟 Nginx 是兼容的。下面列出的都是 Tengine 特有的选项。如果想查看 Tengine 支持的所有选项,可以运行./configure --help命令来获取帮助。

  • --dso-path:设置 DSO 模块的安装路径。
  • --dso-tool-path:设置 dso_tool 脚本本身的安装路径。
  • --without-dso:关闭动态加载模块的功能。
  • --with-jemalloc:让 Tengine 链接 jemalloc 库,运行时用 jemalloc 来分配和释放内存。
  • --with-jemalloc=path:设置 jemalloc 库的源代码路径,Tengine 可以静态编译和链接该库。

make 的目标选项

大部分的目标选项跟 Nginx 是兼容的。下面列出的是 Tengine 特有的选项。

  • make test

运行 Tengine 的测试用例。你首先需要安装 perl 来运行这个指令。

  • make dso_install

将动态模块的 so 文件拷贝到目标目录。这个目录可以通过'--dso-path'设置。默认是在 Tengine 安装目录下面的 modules 目录。

完整配置

下列命令启用了 http2gzipreal-ip三个功能

./configure --prefix=/home/tengine --with-http_realip_module --with-http_gzip_static_module --with-http_ssl_module --with-http_v2_module