nginx实战操作之反向代理tomcat

    今天我们就来做一个nginx的实战操作,实现反向代理tomcat服务器,没有安装nginx和tomcat的小伙伴,可以参看我之前的文章。我们要做的效果是,使用客户端访问nginx的9001端口时,自动跳转到tomcat的8002端口的应用。

  • 安装nginx

5分钟教你docker安装nginx到启动教程

  • 安装tomcat

从docker安装tomcat到启动自定义项目

 

    一切准备就绪后,使用docker 启动nginx。

# docker run --name mynginx -p 9001:80 -d nginx

    确认nginx启动成功

# docker ps -a

    出现下边的信息时,说明nginx启动成功,尤其是STATUS的状态是UP,同时确认tomcat的8002端口正常启动,下边粗体内容是tomcat的启动信息,如果没有这两条数据的话,或者状态不对是,请使用docker log 容器名的命令调试。

CONTAINER ID        IMAGE               COMMAND                  CREATED              STATUS              PORTS                    NAMES
70b5042c7536        nginx               "nginx -g 'daemon of…"   About a minute ago   Up About a minute   0.0.0.0:9001->80/tcp     mynginx

f938cd3871e4        tomcat              "catalina.sh run"        28 hours ago        Up 8 hours          0.0.0.0:8002->8080/tcp   mytomcat1

    由于nginx被安装到docker容器中,想要修改nginx的配置文件,必须从docker容器中拷贝出来,修改完后,在拷贝回去。

    首先我创建了工作文件夹

# mkdir -p /usr/local/nginx

    进入工作文件夹

# cd /usr/local/nginx

    从docker容器的nginx中,拷贝出nginx.conf配置文件

# docker cp  mynginx:/etc/nginx/nginx.conf nginx.conf

    使用vi命令修改配置文件,保存并退出

vi nginx.conf

    下边修改的nginx.conf配置文件中粗体部分是添加的内容,需要注意的是,192.168.100.101是我虚拟机的ip,这里按照大家实际的ip修改,proxy_pass http://192.168.100.101:8002; 这里是反向代理的tomcat的ip和端口

nginx.conf

user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       /etc/nginx/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  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;

    server {
        listen 80;
        server_name 192.168.100.101;
        location / {
            proxy_pass http://192.168.100.101:8002;
            index index.html index.htm;
        }
    }


    include /etc/nginx/conf.d/*.conf;
}

    这里的listen 80;的80是你在用(docker run --name mynginx -p 9001:80 -d nginx)启动的冒号后的80端口

    修改完后,将nginx.conf拷贝回docker容器中的nginx里

# docker cp  nginx.conf mynginx:/etc/nginx/nginx.conf

    重启nginx服务器

# docker restart mynginx

    做到这里,使用客户端(ie浏览器)访问虚拟机IP(http://192.168.100.101:9001)时,就会自动跳转到tomcat8002端口的自定义页面。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值