目录

一、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地址、账户密码(这个三个都是自定义的)。同时记住你后端的端口是多少。

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

Logo

前往低代码交流专区

更多推荐