follow:https://github.com/WinterChenS/my-site.git
克隆项目到本地IDE,修改配置文件
准备服务器环境
安装MySQL:
docker pull mysql:5.7 #开启端口3310,容器名mysql01 docker run -d -p 3310:3306 -v /home/mysql_docker_test/conf:/etc/mysql/conf.d -v /home/mysql_docker_test/data:/var/lib/mysql
-e MYSQL_ROOT_PASSWORD=root --name mysql01 mysql:5.7 # 按照配置文件中的配置,新建数据库并执行sql文件
安装JDK
yum -y install java-1.8.0-openjdk* # 配置环境变量 vim /etc/profile # 添加 export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk export PATH=$PATH:$JAVA_HOME/bin # 修改完成之后,使其生效 source /etc/profile # 测试 java -version
安装Maven(非必装)
# 下载 wget https://zysd-shanghai.oss-cn-shanghai.aliyuncs.com/software/linux/maven/apache-maven-3.6.1-bin.tar.gz # 解压 tar -zxvf apache-maven-3.6.1-bin.tar.gz # 移动+重命名 mv apache-maven-3.6.1 /usr/local/maven3 # 配置环境变量 vim /etc/profile # 添加 MAVEN_HOME=/usr/local/maven3 export MAVEN_HOME export PATH=${PATH}:${MAVEN_HOME}/bin # 使环境变量生效 source /etc/profile # 验证 mvn -version
打包项目(记得修改数据库IP和端口,容器启动的话IP不能为127.0.0.1,因为每个容器有自己的网络)
将打包后文件拷贝到服务器
[root@10-9-48-229 my-site-app]# pwd /home/my-site-app [root@10-9-48-229 my-site-app]# ls Dockerfile my-site-1.0.2.RELEASE.jar
此时,直接运行该jar包就已经可以启动该项目了
[root@10-9-48-229 my-site-app]# java -jar my-site-1.0.2.RELEASE.jar # 或 nohup java -jar my-site-1.0.2.RELEASE.jar > log.file 2>&1 &
访问测试
http://106.75.32.166:8080 http://106.75.32.166:8080/admin
以容器方式启动项目
docker build -f Dockerfile -t my-site . # 做成镜像 docker images docker history xxxxxxxxxxx docker run -p 8080:8080 -it my-site # 或 docker run -p 8080:8080 -d my-site
访问测试同样成功丶
接下来搞个Nginx把IP隐藏一下
安装Nginx
# 拉取镜像 docker pull nginx # 创建一个目录用来存放文件,方便我们进行修改 mkdir -p /everything/nginx/conf /everything/nginx/html # 创建配置文件 vim /everything/nginx/conf/nginx.conf # 创建html vim /everything/nginx/index.html
配置文件内容
# 工作进程数 1 ,不要超过计算机的核数,四核配置4,八核配置8 worker_processes 1; # 工作连接数,也就是线程,一个进程有1024个线程, events { worker_connections 1024; } # http请求配置 http { default_type application/octet-stream; # sendfile为发送文件,要on开启 sendfile on; # keepalive_timeout超时时间 keepalive_timeout 65; server { # 监听的端口,这里为80 listen 80; # server_name就是域名, server_name localhost; # location域名代理地址 # / 代表所有请求路径 location / { root /usr/share/nginx/html; index index.html; } } }
html内容
<html> <body> <h1>我是index.html...</h1> </body> </html>
启动Nginx
docker run --name nginx01 -p 80:80 -v /everything/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /everything/nginx/html:/usr/share/nginx/html --restart always -d nginx
访问测试
http://106.75.32.166
现在修改Nginx配置,实现域名访问
# 工作进程数 1 ,不要超过计算机的核数,四核配置4,八核配置8 worker_processes 1; # 工作连接数,也就是线程,一个进程有1024个线程, events { worker_connections 1024; } #http请求配置 http { default_type application/octet-stream; # sendfile为发送文件,要on开启 sendfile on; # keepalive_timeout超时时间 keepalive_timeout 65; # 简单负载均衡节点配置 upstream DemoBackend1 { server 106.75.32.166:8080; # server 192.168.1.2; # ip_hash; } server { listen 80; # blog 这里配置三级域名 没搞定 server_name *.possible2dream.cn; # location 域名代理地址 # / 代表所有请求路径 location / { proxy_pass http://DemoBackend1; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; proxy_redirect default; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } }
访问测试
http://www.possible2dream.cn/ http://www.possible2dream.cn/admin/index
完了之后稍微研究下这个源代码
内容不多,七牛云处理的文件服务丶
……
https://github.com/ChenCurry/my-site.git