Docker应用部署tomcat和nginx

一、部署tomcat

1.拉取镜像

[root@docker_dev mysql]# docker pull tomcat

2.部署tomcat

[root@docker_dev ~]# rm -rf \~tomcat/
[root@docker_dev ~]# mkdir tomcat
[root@docker_dev ~]# cd tomcat/
[root@docker_dev tomcat]# docker run -id --name=c_tomcat \
> -p 8080:8080 \
> -v $PWD:/user/local/tomcat/webapps \
> tomcat

3.验证

#tomcat 的默认 Web 应用根目录(webapps)是存放 Web 应用的地方

在webapps下面创建一个test目录(应用名字),在test下面创建一个html文件

[root@docker_dev tomcat]# docker exec -it c_tomcat /bin/bash  #进入容器

root@b4432a89096e:/usr/local/tomcat/webapps/test# pwd
/usr/local/tomcat/webapps/test
root@b4432a89096e:/usr/local/tomcat/webapps/test# cat index.html 

<h1> hello tomcat docker </h1>

二、部署nginx

1.拉取镜像

[root@docker_dev mysql]# docker pull nginx

2.部署nginx

[root@docker_dev ~]# mkdir nginx
[root@docker_dev ~]# cd nginx/
[root@docker_dev nginx]# mkdir conf
[root@docker_dev nginx]# vim nginx.conf  #附件有nginx.conf内容参考

[root@docker_dev nginx]# mv nginx.conf conf/
[root@docker_dev nginx]# docker run -id --name=c_nginx \
> -p 80:80 \
> -v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf \
> -v $PWD/logs:/var/log/nginx \
> -v $PWD/html:/usr/share/nginx/html \
> nginx

3.验证

#nginx 的默认 Web 应用根目录(html)是存放 Web 应用的地方

在html下面创建一个html文件

同tomcat一样测试即可

附录

[root@docker_dev conf]# cat nginx.conf 
# 运行用户(默认通常为 nobody,可根据实际情况修改)
user  nginx;

# Nginx 进程数,通常设置为 CPU 核心数
worker_processes  auto;

# 错误日志路径及级别(debug/info/notice/warn/error/crit)
error_log  /var/log/nginx/error.log warn;

# 进程 PID 文件
pid        /var/run/nginx.pid;

# 工作模式及连接数上限
events {
    # 每个 worker 进程的最大连接数
    worker_connections  1024;
    # 支持多路复用 I/O 模型(Linux 推荐 epoll,FreeBSD 推荐 kqueue)
    use epoll;
}

# HTTP 核心配置
http {
    # 引入 MIME 类型定义(Nginx 内置)
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    # 日志格式定义(main 为自定义名称,可在虚拟主机中引用)
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    # 访问日志路径(引用上面定义的 main 格式)
    access_log  /var/log/nginx/access.log  main;

    # 开启高效文件传输模式
    sendfile        on;
    # 防止网络阻塞(配合 sendfile 使用)
    tcp_nopush      on;
    # 减少网络报文数量
    tcp_nodelay     on;

    # 连接超时时间(秒)
    keepalive_timeout  65;

    # 开启 gzip 压缩(减少传输数据量)
    gzip  on;
    # 压缩级别(1-9,级别越高压缩率越高,CPU 消耗越大)
    gzip_comp_level 2;
    # 压缩的文件类型
    gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

    # 引入虚拟主机配置(通常将每个站点配置放在 conf.d 目录下)
    include /etc/nginx/conf.d/*.conf;

    # 默认虚拟主机(当未匹配到其他主机时使用)
    server {
        # 监听端口(HTTP 默认为 80)
        listen       80;
        # 服务器名称(可填写域名,多个域名用空格分隔)
        server_name  localhost;

        # 字符集设置
        charset utf-8;

        # 根目录(网站文件存放路径)
        root   /usr/share/nginx/html;
        # 默认索引文件(优先级从左到右)
        index  index.html index.htm index.php;

        # 访问根路径的处理
        location / {
            # 尝试查找请求的文件,不存在则返回 404
            try_files $uri $uri/ =404;
        }

        # 处理 404 错误(可自定义错误页面)
        error_page  404              /404.html;
        location = /404.html {
            root   /usr/share/nginx/html;
        }

        # 处理 50x 系列错误(500/502/503/504)
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }
    }
}
 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值