CentOS6 部署 nginx 代理 tomcat

一、安装 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

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,029评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,238评论 3 388
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,576评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,214评论 1 287
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,324评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,392评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,416评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,196评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,631评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,919评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,090评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,767评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,410评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,090评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,328评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,952评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,979评论 2 351

推荐阅读更多精彩内容