Linux下Nginx的安装与配置

来源:互联网 发布:java web项目访问路径 编辑:程序博客网 时间:2024/05/22 14:22

前言:Nginx是目前最流行的web服务器,用于反向代理和负载均衡,能够很好地应对大并发量状况。对于javaWeb程序,用的最多的服务器架构就是nginx+tomcat。这篇文章就以此为例,详细的讲解一下该服务器架构的搭建。

主要内容包括:   1.Linux下tomcat的安装配置 

                            2.Nginx的安装 

                            3.Nginx+tomcat的搭建与配置

系统:RedHat6-64位


一、tomcat的安装

·安装jdk

 

1.下载jdk的tar.gz包,放在/usr/local目录下

2.在该目录下新建java目录,进入java,解压缩jdk。

tar -zxvf /usr/local/jdk-7u79-linux-x64.gz

3.建立软连接(类似于windows中的快捷方式):

  ln -s jdk1.7.0_79 /usr/local/jdk

4.配置环境变量,在/etc/profile文件中加入如下内容:

#jdk

export  JAVA_HOME=/usr/local/java/jdk1.7.0_79

export  JAVA_BIN=$JAVA_HOME/bin

export  PATH=$PATH:$JAVA_HOME/bin

export  CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export  PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

5.使配置生效

# source  /etc/profile

6.测试是否成功

#java-version

 

·安装tomcat

1.进入/usr/local目录,将下载的tar.gz包复制过来。

2. 新建/usr/local/tomcat目录,在该目录下解压缩tar.gz包。

# tar-zxvf  /usr/local/apache-tomcat-7.0.65.tar.gz

3.生成软连接

ln -s  apache-tomcat-7.0.65 /usr/local/tomcatServer

4.启动tomcat

进入bin目录,./startup.sh即可。

·安装多个tomcat

重新解压一份到新的目录,然后修改下server.xml文件的启动,关闭端口就可以了。





·部署项目到tomcat

把你的web项目打包成war包,然后放到tomcat安装目录下的webapps目录下,就可以了。


二、Nginx的安装


 nginx依赖以下模块:
·gzip模块需要 zlib 库
·rewrite模块需要 pcre 库
·ssl 功能需要openssl库

所以需要先安装这三个软件。

2.1.安装pcre

1.获取pcre编译安装包,在http://www.pcre.org/上可以获取当前最新的版本,放在/usr/local/目录下

2.cd /usr/local/
   tar -zxvf pcre-8.21.tar.gz
   cd pcre-8.21
   ./configure
   make
   make install

2.2 安装openssl

1. 获取openssl编译安装包,在http://www.openssl.org/source/上可以获取当前最新的版本。

2.cd /usr/local/
   tar -zxvf openssl-1.0.1c.tar.gz
   ./config 
   make
   make install

2.3 安装zlib

1.获取zlib编译安装包,在http://www.zlib.net/上可以获取当前最新的版本。

2.cd /usr/local/ 
   tar -zxvf zlib-1.2.8.tar.gz cd zlib-1.2.8
   ./configure
   make
   make install

2.4 安装Nginx

Nginx 一般有两个版本,分别是稳定版和开发版,您可以根据您的目的来选择这两个版本的其中一个,下面是把 Nginx 安装到 /usr/local/nginx 目录下的详细步骤:

1.在http://nginx.org/en/download.html上可以获取当前最新的稳定版本。
2.cd /usr/local/
   tar -zxvf nginx-1.8.0.tar.gz
   cd nginx-1.8.0  
   ./configure --prefix=/usr/local/nginx 
   make
   make install

2.5 启动、停止、重载Nginx

确保系统的 80 端口没被其他程序占用,
/usr/local/nginx/sbin/nginx
 
检查是否启动成功:
netstat -ano|grep 80 有结果输入说明启动成功


打开浏览器访问此机器的 IP,或者输入http://localhost,如果浏览器出现 Welcome to nginx! 则表示 Nginx 已经安装并运行成功。
 
重启:/usr/local/nginx/sbin/nginx –s reload

停止:/usr/local/nginx/sbin/nginx –s stop


三、Nginx配置以及集成tomcat做反向代理和负载均衡

我们只需要修改conf目录下的nginx.conf文件即可。


#运行用户,不用管user  nobody;#启动进程,通常设置成和CPU数相同worker_processes  1;#全局错误日志及PID文件error_log  logs/error.log;error_log  logs/error.log  notice;error_log  logs/error.log  info;pid        logs/nginx.pid;#工作模式及连接数上限events {    worker_connections  1024;#单个后台worker process进程的最大并发链接数}#设定http服务器,利用它的反向代理功能提供负载均衡支持http {     #设定mime类型,类型由mime.type文件定义    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;    #设定负载均衡的服务器列表    upstream mysvr {    #weigth参数表示权值,权值越高被分配到的几率越大    #首先要开启两个tomcat服务,设置不同的端口。把两个tomcat下的首页设置成不同的内容,这样在测试时效果比较明显。    server localhost:8080 weight=4;    server localhost:8084 weight=1;    }    server {        listen       80;        server_name  localhost;        #charset koi8-r;        #access_log  logs/host.access.log  main;        location / {            root   html;            index  index.html index.htm;            proxy_pass  http://mysvr ;#请求转向mysvr 定义的服务器列表        }        #error_page  404              /404.html;        # redirect server error pages to the static page /50x.html        #        error_page   500 502 503 504  /50x.html;        location = /50x.html {            root   html;        }    }}


重载Nginx,访问http://localhost,刷新多次页面,可看到nginx分发到不同tomcat的效果。



1 0
原创粉丝点击