美文网首页
CentOS6 部署 nginx 代理 tomcat

CentOS6 部署 nginx 代理 tomcat

作者: 俊果果 | 来源:发表于2019-07-28 18:12 被阅读0次

    一、安装 java

    1、首先去oracle JDK下载如下文件:

    image.png
    如果有可用的下载链接,可以直接命令行运行wget xxxlink
    然后进入下载目录,执行命令ls -lht查看下载文件的详细信息,注意包文件大小是否相符
    image.png
    (图中是我改过文件名的)

    2、安装

    • 这里安装到目录/usr/local/java/
      若不存在此目录,先创建mkdir /usr/local/java/
    • 解压文件到该目录
      tar -zxvf jdk.tar.gz -C /usr/local/java/
    • 设置环境变量
      vi /etc/profile 在文件末尾添加如下内容
    export JAVA_HOME=/usr/local/java/jdk1.8.0_221
    export JRE_HOME=${JAVA_HOME}/jre
    export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
    export PATH=${JAVA_HOME}/bin:$PATH
    
    • 启用修改
      source /etc/profile
    • 添加软连接
      ln -s /usr/local/java/jdk1.8.0_221/bin/java /usr/bin/java
    • 检查安装完成


      image.png

    二、安装 tomcat

    • 访问网页下载Apache Tomcat文件
      image.png
      可以直接执行命令:
    wget http://apache.mirrors.lucidnetworks.net/tomcat/tomcat-9/v9.0.22/bin/apache-tomcat-9.0.22.tar.gz
    

    查看下载文件

    image.png
    移动文件到目录/usr/local/
    mv apache-tomcat-9.0.22.tar.gz /usr/local/
    

    解压:tar -zxvf

    tar -zxvf apache-tomcat-9.0.22.tar.gz 
    
    • 启动 tomcat
      sh /usr/local/apache-tomcat-9.0.22/bin/startup.sh
      image.png
    • 浏览器访问localhost:8080,可以出现 tomcat 的欢迎页面,即安装成功
    • 设置开机自启
      编辑文件 vi /etc/rc.d/rc.local,在最后加入以下内容
    export JAVA_HOME=/usr/local/java/jdk1.8.0_221
    export PATH=$PATH:$JAVA_HOME/bin
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    export CATALINA_HOME=/usr/local/apache-tomcat-9.0.22/
    
    sh /usr/local/apache-tomcat-9.0.22/bin/startup.sh
    

    保存退出,然后执行以下命令生效
    chmod +x /etc/rc.d/rc.local

    三、安装 nginx

    • 安装依赖
      gcc编译环境 : yum install -y gcc-c++
      rewrite模块需要 PCRE(Perl Compatible Regular Expressions),pcre-devel 库:yum install -y pcre pcre-devel
      gzip模块需要 zlib 库 :yum install -y zlib
      ssl 功能需要 OpenSSL 库:yum install -y openssl openssl-devel
    • 下载 nginx
      官网
      image.png

    命令:wget http://nginx.org/download/nginx-1.17.2.tar.gz

    image.png
    • 安装
      解压:tar -zxvf nginx-1.17.2.tar.gz -C /usr/local/
      安装,依次运行命令:
    cd /usr/local/nginx-1.17.2/
    ./configure
    make
    make install
    

    安装完成后,默认目录在/usr/local/nginx
    可以使用whereis nginx查找所在位置

    image.png
    • 启动
      执行命令/usr/local/nginx/sbin/nginx
      重启/usr/local/nginx/sbin/nginx -s reload
      查看进程信息ps aux|grep nginx
      image.png
      浏览器访问 localhost,可以出现 nginx 的欢迎页面,即安装成功。

    四、tomcat 部署 war 包

    上传war包到tomcatwebapps目录

    image.png
    等待一会儿,访问localhost:8080/SSMDemo/即可浏览项目页面
    • 如果想不带后缀/SSMDemo直接访问
      编辑如下文件
      image.png
      vi /usr/local/apache-tomcat-9.0.22/conf/server.xml
      在文件末尾的</Host>节点内部,添加一条如下配置
    <Context path="" docBase="SSMDemo" debug="0" reloadable="true"/> 
    
    image.png
    重启 tomcat 后即可通过 localhost:8080直接访问到改项目页面

    五、nginx 转发 tomcat

    修改nginx.conf配置文件

    vi /usr/local/nginx/conf/nginx.conf
    

    server 节点内容改为如下

    image.png
    全部配置示例
    worker_processes  1;
    
    #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;
    }
    
    
    http {
        include       mime.types;
        default_type  application/octet-stream;
    
        #access_log  /var/log/nginx/access.log  main;
    
        sendfile        on;
        #tcp_nopush     on;
    
        #keepalive_timeout  0;
        keepalive_timeout  65;
    
        server_tokens off;
        autoindex off;
      
    
        server {
            listen               80;
            server_name          localhost;
            access_log off;
            
            location  / {
        proxy_pass   http://localhost:8080/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header REMOTE-HOST $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        client_max_body_size 50m;
        client_body_buffer_size 256k;
        proxy_connect_timeout 1;
        proxy_send_timeout 30;
        proxy_read_timeout 60;
        proxy_buffer_size 256k;
        proxy_buffers 4 256k;
        proxy_busy_buffers_size 256k;
        proxy_temp_file_write_size 256k;
        proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;
        proxy_max_temp_file_size 128m;  
            }
        }
    }
    

    保存后测试配置修改是否正确:/usr/local/nginx/sbin/nginx -t

    image.png
    配置ok,重启 nginx
    /usr/local/nginx/sbin/nginx -s reload
    • 测试
      浏览器输入 localhost,会显示 SSMDemo 项目的网页,即成功

    六、防火墙配置

    • 参考文档
      iptables 防火墙配置教程
    • 配置
      查看现有策略iptables -L -n --line-numbers
      image.png
      允许访问 80 端口:iptables -A INPUT -p tcp --dport 80 -j ACCEPT
      禁止访问 8080 端口:
    iptables -A INPUT -p tcp --dport 80 -j DROP
    iptables -A OUTPUT -p tcp --sport 80 -j DROP
    

    保存规则:service iptables save
    重启防火墙使规则生效:service iptables restart

    相关文章

      网友评论

          本文标题:CentOS6 部署 nginx 代理 tomcat

          本文链接:https://www.haomeiwen.com/subject/btdprctx.html