nginx和ribbon的区别:
nginx实现服务端的负载均衡
ribbon实现客户端的负载均衡,请求时可以轮询/随机的方式请求接口
本文以docker下载的nignx进行部署
一、将项目打jar包,放到服务器上,并编写dockerfile文件
dockerfile和jar包要放在同一个目录下,注意需要暴露的端口要在防火墙设置好
dockerfile编写如下:
# 拉取jdk8作为基础镜像
FROM java:8
# 作者
MAINTAINER jane <jane@163.com>
# 添加jar到镜像并命名为user.jar
ADD spring-test-1.0-SNAPSHOT.jar spring-test.jar
# 镜像启动后暴露的端口
EXPOSE 8071
# jar运行命令,参数使用逗号隔开
ENTRYPOINT ["java","-jar","spring-test.jar"]
二、将项目放到docker里,并运行
(一)生成docker镜像
注意在最后面有一个 点
docker build -t spring-test .
(二)运行该镜像
docker run -d --name spring-test -p 8071:8071 spring-test
三、nginx
用docker下载nginx
docker pull nginx
运行nginx
docker run --name nginx -p 9091:80 -d nginx
访问ip:80就可以看到 nginx的欢迎页面
另外创建目录将nginx的www 日志 配置文件放好
mkdir -p /server/nginx/www
mkdir -p /server/nginx/logs
mkdir -p /server/nginx/conf
拷贝nginx的配置文件到conf
docker cp 541cae70ae15:/etc/nginx/nginx.conf /server/nginx/conf
这个时候再访问ip:80是没有东西的,因为www文件夹没有html页面,所以403
要在www文件夹创建html
自己申请好域名后,修改/server/nginx/conf下的nginx.conf文件
vim nginx.conf
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;
include /etc/nginx/conf.d/*.conf;
server{
listen 80;
server_name 你的域名;
location / {
proxy_pass http://127.0.0.1:8071; #这个端口按项目实际修改
}
}
}
最主要是http下的server配置
成功后: