项目部署的三种方式:
最原始方式✅ yum 手动安装 jdk mysql tomcat nginx打包前端项目,放到某个目录,修改 nginx 配置修改线上的 mysql 配置,打包 jar,放到某个目录,执行宝塔✅ 是一个系统可以通过软件商店安装环境,更方便「网站」里上传前端项目和新建 Java 项目容器✅ Dockerfile 写一次就好,后面可以复制前端项目尤其是,就是写好 nginx 配置和拷贝 dist 即可镜像的构建和获取:有哪些现成的镜像最原始的方式手动安装环境、上传文件、启动服务。
实用命令:
``find . -name “*nginx*”`` Ngnix 在 ./etc/nginx``history`` 可以查看之前输入的命令netstat -ntlp查看端口使用情况mv * …/ 把所有文件移动到上一层解压 zip 文件:unzip xxtar 文件:tar -zxvf apache-maven-3.9.4-bin.tar.gz/root/frontend/user_info/dist之前的:/root/frontend/buildnginx -s reload 修改配置文件 (nginx.conf) 后,刷新找出使用 80 端口的进程并关闭:fuser -k 80/tcpnginx user:
服务器后端环境配置:
安装 jdk: yum install java-17-openjdk yum 安装完环境变量也配置好了安装 mysql: curl -o xxx {url} yum install mysqlyum install mysql-serveryum install mysql-devel设置 mysql 开机启动:systemctl enable mysqld服务端 mvn 构建:mvn package -DskipTestsmysql 配置:
设置密码 mysql -u root -pmysql -u shixin -p8.0 以后:alter user’root’@‘localhost’ identified with mysql_native_password by ‘xxx’ ;创建新用户 create user ‘shixin’@‘%’ identified with mysql_native_password by ‘新密码’;赋予权限:grant all privileges on *.* to shixin@‘%’ with grant option; 所有数据库的所有表,给在任意 IP 的 shixin重启:systemctl restart mysqld防火墙开放 3306 端口:
代码语言:javascript代码运行次数:0运行复制[root@VM-16-15-centos lighthouse]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
FirewallD is not running
[root@VM-16-15-centos lighthouse]# systemctl start firewalld.service
[root@VM-16-15-centos lighthouse]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
success
[root@VM-16-15-centos lighthouse]# firewall-cmd --reload
success
[root@VM-16-15-centos lighthouse]# firewall-cmd --list-ports
3306/tcp启动服务: java -jar UserCenter-0.0.3-SNAPSHOT.jar --spring.profiles.active=prod &
& 表示后台运行
文件上传默认上传到:./home/lighthouse
宝塔通过界面的方式安装环境、上传文件。
用老婆的小号买了一年服务器,用于测试宝塔系统。
防火墙里放开 8888 端口,设置仅自己的 IP 可以访问宝塔报错提示:您的请求在Web服务器中没有找到对应的站点 清除浏览器缓存,刷新部署前端项目好简单: 网站->添加站点->上传文件,完成!升级 JDK 到 17: https://blog.csdn.net/qq_35760825/article/details/128655513如果 8080 访问不了,就去宝塔-安全里「放行」端口Docker 部署容器:把项目的代码和环境一起打包成镜像,后面换机器只要下载镜像、运行即可。
通过配置文件,把依赖的内容和要执行的脚本都写好,到时候只要执行就好了。
Dockerfile:指定构建 Docker 镜像的方法
相关命令:
docker build -t user-center-frontend:v0.0.1 . (最后这个点别漏了) 基于当前文件夹的 Dockerfile 构建一个镜像docker images 可以查看本地的镜像(包括刚才构建出来的)启动 docker run -p 80:80 -d user-center-frontend:v0.0.1-d 表示后台运行docker ps 查看正在运行的容器docker exec -i -t {容器id} /bin/bash 进入某个容器docker kill (容器 id)docker logs -f e3afd19b7502 查看某个容器的日志docker rmi -f hello-world 删除某个镜像如何优化size 和构建时长docker run xxx ,会现在本地找,找不到的话会去远端仓库下载执行流程 docker client(客户端)会发送消息给 docker daemon(守护进程)docker dameon 会去 Docker 仓库拉取需要的镜像;然后创建一个新的容器,运行镜像最后 daemon 把输出发送给 client,client 把结果发送给你的命令行
其他代码语言:javascript代码运行次数:0运行复制//获取环境
process.env.NODE_ENV静态化:umi config.ts 里加 exportStatic,可以给每个路由生成 html 静态文件,这样的好处是在某个页面刷新时不会报错。