Linux模块添加依赖,linux 安装Nginx(增加第三方模块)

安装Nginx

安装Nginx依赖

yum更新

可执行以下命令:

升级所有包同时也升级软件和系统内核

yum -y update

只升级所有包,不升级软件和系统内核

yum -y upgrade

gcc安装

安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装:

yum install gcc-c++

pcre pcre-devel安装

PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库。命令:

yum install -y pcre pcre-devel

zlib 安装

zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。

yum install -y zlib zlib-devel

OpenSSL 安装

OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。

nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。

yum install -y openssl openssl-devel

备注:以上依赖可一次性安装

yum -y install gcc pcre-devel openssl-devel zlib-devel

jemalloc(更好的内存管理)[可选择安装]

wget http://www.canonware.com/download/jemalloc/jemalloc-4.0.4.tar.bz2

tar -jxvf jemalloc-4.0.4.tar.bz2 && cd jemalloc-4.0.4

./configure

make && make install

echo '/usr/local/lib' > /etc/ld.so.conf.d/local.conf

ldconfig

备注:如果解压失败,遇到如下问题

tar (child): lbzip2: Cannot exec: No such file or directory

tar (child): Error is not recoverable: exiting now

tar: Child returned status 2

tar: Error is not recoverable: exiting now

解决方法:安装bzip2

yum install bzip2

Lua模块 [可选择安装]

lua-nginx-module来自大牛agentzh的开源项目,在Nginx中嵌入Lua语言,使之可以支持强大Lua语法

下载LuaJIT2.0并安装

切换到上级目录

cd ..

wget http://luajit.org/download/LuaJIT-2.0.4.tar.gz

tar -zxvf LuaJIT-2.0.4.tar.gz && cd LuaJIT-2.0.4

make && make install

下载并解压ngx_devel_kit和lua-nginx-module

切换到上级目录

cd ..

wget https://codeload.github.com/simpl/ngx_devel_kit/tar.gz/v0.2.19

tar -zxvf ngx_devel_kit-0.2.19.tar.gz

wget https://codeload.github.com/openresty/lua-nginx-module/tar.gz/v0.9.20rc2

tar -zxvf lua-nginx-module-0.9.20rc2.tar.gz

导入环境变量

export LUAJIT_LIB=/usr/local/lib

export LUAJIT_INC=/usr/local/include/luajit-2.0

ngx_cache_purge模块(Nginx清除缓存模块) [可选择安装]

cd ..

wget http://labs.frickle.com/files/ngx_cache_purge-2.3.tar.gz

tar -zxvf ngx_cache_purge-2.3.tar.gz

下载Nginx安装包

使用wget命令下载(推荐)。

wget -c zhttps://nginx.org/download/nginx-1.12.2.tar.gz

编译、安装Nginx

使用默认配置

./configure

自定义编译安装Nginx【根据以上可选模块】

./configure \

--sbin-path=/usr/local/nginx/nginx \

--conf-path=/usr/local/nginx/nginx.conf \

--pid-path=/var/run/nginx.pid \

--user=nginx \

--group=nginx \

--with-http_ssl_module \

--with-http_stub_status_module \

--with-threads \

--with-stream \

--with-stream_ssl_module \

--with-ipv6 \

--with-http_v2_module \

--add-module=../ngx_cache_purge-2.3 \

--add-module=../lua-nginx-module-0.9.20rc2 \

--add-module=../ngx_devel_kit-0.2.19 \

--with-ld-opt='-ljemalloc' \

--with-cc-opt='-O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic'

使用默认配置

make install

自定义编译安装Nginx【根据以上可选模块】

make -j2 && make install

查找位置

whereis nginx

默认路径位于:/usr/local/nginx

启动

cd /usr/local/nginx/sbin/

./nginx

停止

cd /usr/local/nginx/sbin/

./nginx -s stop

./nginx -s quit

重新加载

cd /usr/local/nginx/sbin/

./nginx -s reload

开启启动

修改文件

即在rc.local增加启动代码就可以了。

vi /etc/rc.local

增加一行 /usr/local/nginx/sbin/nginx

需设置执行权限:

chmod 755 rc.local

以上即完成安装。

yum -y update

日志分割

1、编写自动分割Nginx日志脚本

> #!/bin/bash

> #Rotate the Nginx logs to prevent a single logfile from consuming too much disk space.

> LOS_PATH=/usr/local/nginx/logs

> YESTERDAY=$(date -d "yesterday" +%Y-%m-%d)

> mv ${LOGS_PATH}/access.log ${LOGS_PATH}/access_${YESTERDAY}.log

> mv ${LOGS_PATH}/error.log ${LOGS_PATH}/error_${YESTERDAY}.log

> ## 向 Nginx 主进程发送 USR1 信号。USR1 信号是重新打开日志文件

> kill -USR1 $(cat /usr/local/nginx/logs/nginx.pid)

:wq保存,并命名为nginxLogRotate.sh,保存到目录/usr/local/nginx/logs

2、设置Linux定时任务

vi /etc/crontab

在打开的文件底部添加如下内容

0 0 * * * root /usr/local/nginx/logs/nginxLogRotate.sh

:wq保存,表示配置一个定时任务,定时每天00:00以root身份执行脚本/usr/local/nginx/logs/nginxLogRotate.sh,实现定时自动分割Nginx日志(包括访问日志和错误日志)

至此,就实现了自动分割Nginx日志,Nginx每天都会生成一个新的日志文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值