一、部署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;
}
}
}