Centos 6 安装Nginx 和配置tomcat +域名访问全过程。

安装nginx所需安装包

Nginx-1.6.0.tar.gz和pcre-8.35.zip

准备工作:

#mkdir nginx

去/usr 目录下创建 nginx目录

把准备好的Nginx-1.6.0.tar.gz和pcre-8.35.zip放到nginx目录里面去

 

Centos 6 安装Nginx 和配置tomcat +域名访问全过程。_第1张图片

 

 

开始安装:

 

首先要安装pcre ,他作用是让ngnix支持rewrite功能

一. 安装pcre-8.35

#unzip pcre-8.35.zip

 

 

 

#cd pcre-8.35

#./configure

Centos 6 安装Nginx 和配置tomcat +域名访问全过程。_第2张图片

 

 

 

#make

#make install

 

 

 

 

没有gcc环境,所以没法make 和make install

 

需要去安装gcc

 

去/目录安装

yum -y install make zlib zlib-devel gcc-c++ libtool

 

Centos 6 安装Nginx 和配置tomcat +域名访问全过程。_第3张图片

 

 

安装完成再回/usr/nginx/pcre-8.35目录里面

#./configure

 

Centos 6 安装Nginx 和配置tomcat +域名访问全过程。_第4张图片

 

#make

Centos 6 安装Nginx 和配置tomcat +域名访问全过程。_第5张图片

 

 

 

 

 

#make install

 

Centos 6 安装Nginx 和配置tomcat +域名访问全过程。_第6张图片

 

 

 

 

 

二. 安装nginx

#tar zxvf nginx-1.6.0.tar.gz

 

 

 

#cd nginx-1.6.0

#./configure --with-http_stub_status_module --with-http_ssl_module(该命令为检查编译安装环境,提示缺少什么包就安装什么包)

例子我安装是提示错误:SSL modules require the OpenSSL library.

 

Centos 6 安装Nginx 和配置tomcat +域名访问全过程。_第7张图片

 

 

解决办法为安装openssl,命令为

#yum y install openssl openssl-devel这条命令建议手打,别复制

 

Centos 6 安装Nginx 和配置tomcat +域名访问全过程。_第8张图片

 

 

 

#make

 

 

 

需要再./configure一遍

#./configure --with-http_stub_status_module --with-http_ssl_module

 

然后再

#make

#make install

nginx安装成功后的安装目录为/usr/local/nginx

 

Centos 6 安装Nginx 和配置tomcat +域名访问全过程。_第9张图片

 

 

 

 

三. 为nginx单独配置用户,并且tomcat设置单独目录。安全性和可维护性高

1.Tomcat的目录设置为/home/www/web

更改tomcat的server.xml文件,在Host name=”localhost”处将appBase=的指向路径改为/home/www/web

2.创建用户www和用户组www为该文件目录的使用权限者

#/usr/sbin/groupadd www

#/usr/sbin/useradd g www www s /sbin/nologin

#mkdir p /home/www

#chmod +w /home/www

#chown R www:www /home/www

 

四. 配置nginx

#cd /usr/local/nginx

在conf文件夹中新建proxy.conf,用于配置一些代理参数,内容如下:

#proxy.conf

proxy_redirect            off;

proxy_set_header          Host $host;

proxy_set_header          X-Real-IP $remote_addr;  

client_max_body_size      10m;

client_body_buffer_size   128k;

proxy_connect_timeout     90;

proxy_send_timeout        90;

proxy_read_timeout        90;

proxy_buffer_size         4k;

proxy_buffers             4 32k;

proxy_busy_buffers_size   64k;

proxy_temp_file_write_size 64k;

 

修改conf 中的nginx.conf。配置如下(该配置仅供参考,实际以服务器为准)

 

user  www www;
worker_processes  8;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    use epoll;
    worker_connections  65535;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    gzip  on;
    gzip_min_length  1k;
    gzip_buffers   4 16k;
    gzip_http_version  1.1;
    gzip_comp_level  2;
    gzip_types  text/plain application/x-javascript text/css  application/xml;
    gzip_vary on;

    upstream tomcat_sgl {
        server 17*.**.**.*1:8080 fail_timeout=30s;
    }
    server {
        listen       80;
        server_name  sgl520.top www.sgl520.top;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
           # root   html;
            index  index.html index.htm;
            proxy_pass http://tomcat_sgl;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }



    }





 

 

 

 

 

 

NGINX启动时提示错误:

/usr/local/nginx/sbin/nginx -t
/usr/local/nginx/sbin/nginx: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory

 

解决方法:

ln -s /usr/local/lib/libpcre.so.1 /lib64

32位系统则:

ln -s /usr/local/lib/libpcre.so.1 /lib

 

 

nginx常用命令

#检测配置文件
#/usr/local/nginx/sbin/nginx -t

 

#启动nginx
 /usr/local/nginx/sbin/nginx 
 echo "/usr/local/nginx/sbin/nginx" >> /etc/rc.local

 

#查看nginx主进程号
#ps -ef | grep "nginx: master process" | grep -v "grep" | awk -F ' ' '{print $2}'

 

#停止nginx
#/usr/local/nginx/sbin/nginx -s stop

 

#平滑重启
#/usr/local/nginx/sbin/nginx -s reload

 

测试时为在/home/www/web中新建一个index.jsp

启动tomcat,启动nginx

通过访问ip地址即可看到

 

Centos 6 安装Nginx 和配置tomcat +域名访问全过程。_第10张图片

 

 

 

 

配置完毕

 

付nginx切割日志

# vi /usr/local/nginx/sbin/cut_nginx_log.sh

#!/bin/bash

# this shell must run 00:00 everyday

 

# Nginx log_path

mesws_logs_path="/usr/local/nginx/logs/meswslog"

error_logs_path="/usr/local/nginx/logs/error"

 

mkdir -p ${mesws_logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/

mv ${mesws_logs_path}mesws.log ${mesws_logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/mesws_$(date -d "yesterday" +"%Y%m%d").log

 

mkdir -p ${error_logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/

mv ${error_logs_path}error.log ${error_logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/error_$(date -d "yesterday" +"%Y%m%d").log

 

kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`

 

配置crontab每天凌晨00:00定时执行这个脚本:

crontab –e

00 00 * * * /bin/bash /usr/local/nginx/sbin/cut_nginx_log.sh

 

这个shell脚本和crontab配置的实际功能为:假设今天为2014-07-25,Nginx当前日志文件为/usr/local/nginx/logs/meswslog/mesws.log,2014-7-26 00:00会执行

Cut_nginx_log.sh脚本,脚本首先创建目录/usr/local/nginx/logs/meswslog/2014/07/然后将/usr/local/nginx/logs/meswslog/mesws.log文件移到并重命名为/usr/local/nginx/logs/meswslog/2014/07/mesws_20140725.log,再发送kill –USR1信号给Nginx主进程号,告诉Nginx重新生成一个mesws.log文件,2014-7-26的日志记录就记录在新的日志文件中。

 

注意事项:cut_nginx_log.sh需要有执行权限

可以chmod 744 cut_nginx_log.sh

 

 

 


配置域名映射,通过nginx访问 和 修改tomcat项目默认路径

 

我把tomcat的默认项目访问地址想提取到/home/www/web目录下面(可能需要自己把tomcat本身目录下的ROOT目录不能放项目,不然默认访问它自己下面的

修改tomcat的server.xml文件如图

Centos 6 安装Nginx 和配置tomcat +域名访问全过程。_第11张图片

 

 

然后配置nginx监听服务器的tomcat8080端口就行

 

Centos 6 安装Nginx 和配置tomcat +域名访问全过程。_第12张图片

 

 

 

 

 

 

 

 

我在配置过程中参考的文献

 

Nginx   参考地址1:http://www.linuxidc.com/Linux/2014-02/96137.htm

 

Nginx 参考地址2:http://www.nginx.cn/install

 

 

 

 

 

 

你可能感兴趣的:(Linux相关)