最近团队在做实时的两个项目,为了方便地查看项目中的日志,决定在服务器端安装Nginx,以静态WEB的形式方便访问查看日志,并集成到现有的实时监控系统中。

由于服务器端不能访问外网,所以以离线的形式安装Nginx。

一、准备安装包以及依赖库

1、nginx安装包下载
[免费]nginx安装包及文档

2、依赖rpm包下载
nginx依赖库rpm包

二、安装依赖库和编译nginx

1、安装依赖库(系统已有请忽略这步)

1)、安装gcc库
rpm -ivh mpfr-2.4.1-6.el6.x86_64.rpm
rpm -ivh mpfr-2.4.1-6.el6.x86_64.rpm
rpm -ivh ppl-0.10.2-11.el6.x86_64.rpm
rpm -ivh cloog-ppl-0.15.7-1.2.el6.x86_64.rpm
rpm -ivh cpp-4.4.7-17.el6.x86_64.rpm
rpm -Uvh libgcc-4.4.7-17.el6.x86_64.rpm
rpm -Uvh libgomp-4.4.7-17.el6.x86_64.rpm
rpm -ivh glibc-2.12-1.192.el6.x86_64.rpm
rpm -ivh glibc-headers-2.12-1.192.el6.x86_64.rpm
rpm -ivh glibc-devel-2.12-1.192.el6.x86_64.rpm
rpm -ivh gcc-4.4.7-17.el6.x86_64.rpm

2)、安装pcre库
rpm -ivh pcre-devel-7.8-7.el6.x86_64.rpm

3)、安装zlib库
rpm -ivh zlib-devel-1.2.3-3.x86_64.rpm

2、上传解压nginx安装包
上传安装包到 /usr/local

1)解压
tar -xzvf nginx-1.7.7.tar.gz
2)重命名
mv nginx-1.7.7 nginx

3、编译nginx

1)进入解压后的目录,指定安装路径,
cd /usr/local/nginx
./configure --prefix=/usr/local/nginx --conf-path=/usr/local/nginx/nginx.conf

注:不指定prefix,则可执行文件默认放在/usr/local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc

2)编译:
make

3)安装:
make install

注:编译过程中会出现很多信息有些是not found信息,这些不用关心,只要在最后出现以下内容,表示编译成功

Configuration summary

  • using system PCRE library
  • OpenSSL library is not used
  • md5: using system crypto library
  • sha1 library is not used
  • using system zlib library

三、配置Nginx以及其启动和停止

1、权限配置
项目中要暴露到http的目录需要权限访问,故要在nginx中配置使用的用户
赋予需要访问的log目录权限
chmod -R /.../... 在nginx.conf文件中,找到user节点,取消注释,并修改为

user  root;

2、访问路径配置
配置server节点添加需要暴露的目录访问路径,并配置autoindex开启

server {
        listen       64001;
        server_name  beta3.hadoop.xx.com;

        charset utf-8;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.htm;
            autoindex on;
        }

        location /home/etluser/workdir/mortgageloan/logs {
			root    /;
			autoindex on;
			autoindex_exact_size on;  # 显示出文件的确切大小,单位是bytes
            autoindex_localtime on;  # 显示的文件时间为文件的服务器时间
            charset utf-8,gbk;  # 避免中文乱码

		}
        ......

3、启动nginx
在nginx的目录下找到sbin目录
在目录中执行./nginx即可启动nginx服务

通过访问配置的端口和路径,即可实现功能。

http://beta3.hadoop.xx.com:64001/home/etluser/workdir/mortgageloan/logs/

nginx依赖包在哪下载 nginx离线依赖包_依赖库

4、停止nginx
查看启动情况

ps -ef|grep nginx

启动成功,master是主进程,关闭的时候kill这个进程,其他子进程会自动关掉

从容停止Nginx

kill -QUIT master进程号

快速停止Nginx

kill -TERM master进程号

强制停止Nginx

kill -9 master进程号

或者

pkill -9 nginx