此为项目部署记录,便于再次部署项目前来参考。
看此博文前,建议没有基础的小伙伴先看此文章:nginx、linux项目部署环境搭建完整过程
mysql
docker run --name mysql_electronic_registration --restart=always -v /aaa/xxx/mysql/conf:/etc/mysql/my.conf -v /aaa/xxx/mysql/data:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password -e TZ=Asia/Shanghai -e LANG="C.UTF-8" -d mysql:8.0.29-oracle
参数解释
解决不能输入中文
-e LANG="C.UTF-8"
--restart=always
always 容器退出时总是重启
-e MYSQL_ROOT_PASSWORD
设置myslq容器登录密码
-e TZ=
设置时区
-d
后台运行
-e LANG="C.UTF-8"
容器内部不能输入中文解决
mysql.cnf
[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
#log-error = /var/log/mysql/error.log
# By default we only accept connections from localhost
#bind-address = 127.0.0.1
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
character_set_server=utf8
init_connect='SET NAMES utf8'
max_allowed_packet = 20M
[mysql]
default-character-set = utf8
[mysql.server]
default-character-set = utf8
[mysqld_safe]
default-character-set = utf8
[client]
default-character-set = utf8
redis
docker run --name redis6 -p 6379:6379 -v /aaa/bbb/redis6/data:/data -v /aaa/bbb/redis6/redis-conf:/usr/local/etc/redis -d --restart=always redis:6.2.7 redis-server --appendonly yes --requirepass "password"
-p 表示端口映射
-v 表示宿主机和容器之间的文件映射
–name 表示docker容器的名字
-d 表示在后台运行,并且打印容易id
–restart=always 表示可以自启动 redis:latest 启动容器的镜像
–appendonly yes 表示redis持久化
–requirepass 表示设置的密码
nginx
docker run --name nginx_xxx -p 8005:80 -v /aaa/xxx:/aaa/xxx -v /aaa/xxx/nginx/conf.d:/etc/nginx/conf.d -v /aaa/xxx/nginx/log/nginx:/var/log/nginx:rw -d nginx:latest
nginx.conf
瑞吉
upstream myserver3{
server 172.17.0.1:8080;
}
server{
listen 80;
#域名,根据实际情况修改
server_name localhost;
client_max_body_size 20m;
#后台,根据实际情况修改
access_log /var/log/nginx/host.access.log main;
location / {
root /aaa/xxx/xxx_web/dist/;
try_files $uri $uri/ /index.html?s=$uri&$args;
index index.html;
}
#反向代理配置
location ^~ /api/ {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
rewrite ^/api/(.*)$ /$1 break;
proxy_pass http://myserver3;
index index.html index.htm;
}
}
陪护
#参考博客:https://blog.csdn.net/qq_42937522/article/details/108179441
#peihu-server
upstream myserver3{
server 172.17.0.1:8004;
}
server{
listen 80;
#域名,根据实际情况修改
server_name localhost;
client_max_body_size 20m;
access_log /var/log/nginx/host.access.log main;
#后台,根据实际情况修改
location ^~ /h5/ {
alias /aaa/bbb/xxx/xxx_h5/dist/;
try_files $uri $uri/ /h5/index.html?s=$uri&$args;
index index.html index.htm index.php;
}
location / {
root /aaa/bbb/xxx/xxx_web/dist/;
try_files $uri $uri/ /index.html?s=$uri&$args;
index index.html index.htm index.php;
}
#后端
location /h5/undefined/api {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://myserver3/api;
index index.html index.htm;
rewrite "^/h5/undefined/(.*)$" /$1 break;
}
location /api {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://myserver3;
index index.html index.htm;
}
}
需要域名和静态地址的配置
upstream myserver3{
server 172.0.0.1:8096;
}
server{
listen 80;
#域名,根据实际情况修改
server_name aaa.bbb.fun;
client_max_body_size 20m;
rewrite ^(.*)$ https://aaa.bbb.fun;
}
server {
listen 443 ssl;
server_name aaa.bbb.fun;
client_max_body_size 20m;
access_log /var/log/nginx/recruitment.access.log main;
ssl_certificate /etc/nginx/cert/xxx.pem;
ssl_certificate_key /etc/nginx/cert/xxx.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location / {
root /data/xxx/er_web/dist/;
try_files $uri $uri/ /index.html?s=$uri&$args;
index index.html;
}
location /mp/ {
alias /data/xxx/MP/;
}
location /api/static/img/ {
alias /data/xxx/photo/;
}
#反向代理配
location ^~ /api/ {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
rewrite ^/api/(.*)$ /$1 break;
proxy_pass http://myserver3;
index index.html index.htm;
}
}
后端服务启动
nohup java -server -XX:-DisableExplicitGC -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -jar
/aaa/bbb/ccc/ddd/xxx-1.0.0-RELEASE.jar
--spring.profiles.active=dev --server.port=8001 > start.log 2>&1 &
nohup java -jar xxx-1.0-SNAPSHOT.jar &> start.log &