目录
一、windows服务器部署需要下载的软件
二、本地Java代码和vue代码打包
1.Java代码打包
2.Vue代码打包
三、将Java代码生成.exe文件
四、nginx配置
五、开放端口
1.windows服务器防火墙开通端口号步骤
2.阿里云安全组开通端口号步骤
3.windows服务器第三方防火墙开通端口号
六、便捷办法
1.jdk(我的jdk是1.8)
2.redis(我的redis是5.0.10)
3.nginx(我用的nginx是1.21.1)
4.mysql(我用的MySQL是5.6版本)
5.宝塔(可选)
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包就是需要部署的后端文件
1)通过package.json里的scripts找到对应的build,在终端输入npm run build
2)最后会在你的前端项目里生成一个dist文件夹,该文件夹里面就是需要部署的前端文件
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
exampleProject
exampleProject Service
D:\Java\jdk1.8\bin\java.exe
-Xrs -Xmx512m -jar exampleProject .jar
D:\exampleProject \log
rotate
将exampleProject文件夹传到winows服务器上。以管理员身份打开windows服务器上的cmd,进入exampleProject文件夹目录
执行exampleProject.exe install
安装成功提示: Installing the service with id 'exampleProject'
打开服务,寻找服务列表名称中是否有exampleProject。有便是service安装成功。右键点击该服务,选择自动,点击启动,便可以看到exampleProject处于正在运行状态。证明你后端自运行成功。
去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服务器的控制面板,点击windows防火墙;
2)进入后点击左边的高级设置
3)点击入站规则,点击新增入站规则
4)选择端口,点击下一页
5)填写需要开通的端口, 你的Java后端端口,你的nginx的listen监听端口,windows还有FTP的默认端口3000-4000。(需要分多个规则创建)
6)选择允许连接。(注:只允许安全连接是https的)
7)默认下一页,名称填写你的项目名称。点击完成。
8)在入站规则里就可以看到你开通的端口。
1)登录阿里云,点击安全组
2)点击配置规则
3)点击手动添加 ,添加需要开通放行的端口(你的nginx监听端口,你的Java后端端口,windows服务器FTP默认端口范围 3000/4000)
需要注意windows服务器是否有后台运行着第三方防火墙(我便是因为这个,给拖了1天时间)
可以安装宝塔windows版进行可视化操作。windows下载宝塔需要在服务器下载,宝塔下载地址:https://download.bt.cn/win/panel/BtSoft.zip