目录
一、windows 服务器部署需要下载的软件
1.jdk( 我的 jdk 是 1.8)
2.redis( 我的 redis 是 5.0.10)
3.nginx( 我用的 nginx 是 1.21.1)
4.mysql( 我用的 MySQL 是 5.6 版本 )
5. 宝塔(可选)
二、本地 Java 代码和 vue 代码打包
1.Java 代码打包
1).Java 代码中 , 在 application.yml 文件中修改好远程 mysql 的 url 地址、账户密码 ( 这个三个都是自定义的 )。同时记住你后端的端口是多少。
url: jdbc:mysql://localhost:3306/stock?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8 username: root password: 123456
2).Maven 对 Java 代码进行打包
最后会在你的后端项目里的 target 文件夹下生成一个 exampleProject.jar 包 ,exampleProject.jar 包就是需要部署的后端文件
2.Vue 代码打包
1) 通过 package.json 里的 scripts 找到对应的 build, 在终端输入 npm run build
2) 最后会在你的前端项目里生成一个 dist 文件夹 , 该文件夹里面就是需要部署的前端文件
三、将 Java 代码生成.exe 文件
1) 为什么需要将 Java 项目生成为.exe 文件 : 由于后端文件部署到 windows 上需要通过 cmd 命令行运行 , 一旦关闭 cmd 就会关掉 Java 项目。因此需要生成 windows 服务 , 使其自运行。
2) 生成 windows 服务的.exe 文件可以通过 github 的开源项目生成。
Releases · winsw/winsw · GitHub
并将下载下来的.exe 文件重命名为你项目的名字 exampleProject.exe
3) 文件配置事项
创建一个名为 exampleProject 文件夹 , 将 exampleProject.exe 文件和 exampleProject.jar 文件放在该文件夹里面 , 在该文件夹下创建一个 exampleProject.xml 文件和 log 文件夹
打开 exampleProject.xml 进行配置 , 配置如下
<?xml version="1.0" encoding="UTF-8"?>
<service>
<!– 服务 ID –>
<id>exampleProject</id>
<!– 服务名称 –>
<name>exampleProject</name>
<!– 服务描述 –>
<description>exampleProject Service</description>
<!– jar 包运行参数 , 指定运行程序的 jdk 位置 –>
<executable>D:\Java\jdk1.8\bin\java.exe</executable>
<!– -jar 之后是 jar 包名称 –>
<arguments>-Xrs -Xmx512m -jar exampleProject .jar</arguments>
<!– 日志配置 –>
<logpath>D:\exampleProject \log</logpath>
<logmode>rotate</logmode>
</service>
将 exampleProject 文件夹传到 winows 服务器上。以管理员身份打开 windows 服务器上的 cmd, 进入 exampleProject 文件夹目录
执行exampleProject.exe install
安装成功提示: Installing the service with id 'exampleProject'
打开服务 , 寻找服务列表名称中是否有 exampleProject。有便是 service 安装成功。右键点击该服务 , 选择自动 , 点击启动 , 便可以看到 exampleProject 处于 正在运行 状态。证明你后端自运行成功。
四、nginx 配置
去 nginx 官网下载 :nginx news
将下载下来的 conf 文件夹下的 nginx.conf 文件 全部替换 成下面的代码。
worker_processes auto; worker_rlimit_nofile 51200; events {worker_connections 51200; multi_accept on;} http {include mime.types; #include luawaf.conf; include proxy.conf; default_type application/octet-stream; server_names_hash_bucket_size 512; client_header_buffer_size 32k; large_client_header_buffers 4 32k; client_max_body_size 50m; sendfile on; tcp_nopush on; keepalive_timeout 60; tcp_nodelay on; fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300; fastcgi_buffer_size 64k; fastcgi_buffers 4 64k; fastcgi_busy_buffers_size 128k; fastcgi_temp_file_write_size 256k; fastcgi_intercept_errors on; gzip on; gzip_min_length 1k; gzip_buffers 4 16k; gzip_http_version 1.1; gzip_comp_level 2; gzip_types text/plain application/javascript application/x-javascript text/javascript text/css application/xml; gzip_vary on; gzip_proxied expired no-cache no-store private auth; gzip_disable "MSIE [1-6]\."; limit_conn_zone $binary_remote_addr zone=perip:10m; limit_conn_zone $server_name zone=perserver:10m; server_tokens off; access_log off; server {listen 8080; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { root html; index index.html index.htm;} location /nginx_status {allow 127.0.0.1; deny all; stub_status on; access_log off;} } include vhost/*.conf; #加载 vhost 目录下的虚拟主机配置文件 }
需要改一下 listen 和 server_name,listen 的端口不能和后端端口一致 , 不然会发生端口冲突问题; 并将前端 dist 文件夹下的文件全部复制到 nginx 的 html 文件夹下
这样前端便是部署好了。
五、开放端口
windows 需要在 windows 服务器的防火墙开通端口号 ; 在阿里云安全组开通端口号 ; 有一些 windows 服务器装载了第三方防火墙 , 也需要在第三方防火墙中开通端口号。
1.windows 服务器防火墙开通端口号步骤
1) 打开 windows 服务器的控制面板 , 点击 windows 防火墙 ;
2) 进入后点击左边的高级设置
3) 点击入站规则 , 点击新增入站规则
4) 选择端口 , 点击下一页
5) 填写需要开通的端口 , 你的 Java 后端端口 , 你的 nginx 的 listen 监听端口 ,windows 还有 FTP 的默认端口 3000-4000。(需要分多个规则创建)
6) 选择允许连接。( 注 : 只允许安全连接是 https 的 )
7) 默认下一页 , 名称填写你的项目名称。点击完成。
8) 在入站规则里就可以看到你开通的端口。
2. 阿里云安全组开通端口号步骤
1) 登录阿里云 , 点击安全组
2) 点击配置规则
3) 点击手动添加 , 添加需要开通放行的端口(你的 nginx 监听端口 , 你的 Java 后端端口 ,windows 服务器 FTP 默认端口范围 3000/4000)
3.windows 服务器第三方防火墙开通端口号
需要注意 windows 服务器是否有后台运行着第三方防火墙 ( 我便是因为这个 , 给拖了 1 天时间 )
六、便捷办法
可以安装宝塔 windows 版进行可视化操作。windows 下载宝塔需要在服务器下载 , 宝塔下载地址 :https://download.bt.cn/win/panel/BtSoft.zip
原文链接:https://blog.csdn.net/wj2423136449/article/details/124063204