目录
一、windows服务器部署需要下载的软件
二、本地Java代码和vue代码打包
1.Java代码打包
2.Vue代码打包
三、将Java代码生成.exe文件
四、nginx配置
五、开放端口
1.windows服务器防火墙开通端口号步骤
2.阿里云安全组开通端口号步骤
3.windows服务器第三方防火墙开通端口号
六、便捷办法
一、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地址、账户密码(这个三个都是自定义的)。同时记住你后端的端口是多少。
文章图片
2).Maven对Java代码进行打包url: jdbc:mysql://localhost:3306/stock?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8 username: root password: 123456
文章图片
最后会在你的后端项目里的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进行配置,配置如下
将exampleProject文件夹传到winows服务器上。以管理员身份打开windows服务器上的cmd,进入exampleProject文件夹目录
exampleProject
exampleProject
exampleProject Service
D:\Java\jdk1.8\bin\java.exe
-Xrs -Xmx512m -jar exampleProject .jar
D:\exampleProject \log
rotate
执行exampleProject.exe install打开服务,寻找服务列表名称中是否有exampleProject。有便是service安装成功。右键点击该服务,选择自动,点击启动,便可以看到exampleProject处于正在运行状态。证明你后端自运行成功。
安装成功提示: Installing the service with id 'exampleProject'
四、nginx配置 去nginx官网下载:nginx news
将下载下来的conf文件夹下的 nginx.conf文件全部替换成下面的代码。
worker_processes auto;
worker_rlimit_nofile 51200;
events
{
worker_connections 51200;
multi_accept on;
}
http {
includemime.types;
#include luawaf.conf;
include proxy.conf;
default_typeapplication/octet-stream;
server_names_hash_bucket_size 512;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
client_max_body_size 50m;
sendfileon;
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_length1k;
gzip_buffers4 16k;
gzip_http_version 1.1;
gzip_comp_level 2;
gzip_typestext/plain application/javascript application/x-javascript text/javascript text/css application/xml;
gzip_vary on;
gzip_proxiedexpired 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 {
listen8080;
server_namelocalhost;
#charset koi8-r;
#access_loglogs/host.access.logmain;
location / {
roothtml;
indexindex.html index.htm;
}
location /nginx_status {
allow 127.0.0.1;
deny all;
stub_status on;
access_logoff;
}
}
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
【服务器|Springboot+redis+Vue在windows服务器下进行部署】
推荐阅读
- 服务器|nginx优化
- windows|【windows下tensorflow的gpu环境通配方法】包含nvidia驱动版本cuda版本cudnn版本tensorflow版本等
- 机器学习|TensorFlow 资源汇集
- linux|CSDN IT冷知识(每日更新)
- c#|C# FileSystemWatcher 多文件夹、多文件类型文件监控增加、修改、重命名和删除实例
- UAC实现原理
- springboot|springboot集成redis防止页面重复提交
- 架构|(原创)springboot+shiro+redis 限制同用户多次登录(不需要考虑sprinboot、redis版本)
- 我的教程|从无到有的基于QT软件的DIY桌面番茄钟(上)