@Author Jacky Wang , 转载请注明出处 https://www.jianshu.com/p/ebbaccf3db5b
包含内容:
1. windows环境的网络配置
2. windows下安装jdk,rabbitmq,redis,mysql,nginx
3. 将应用服务发布为Windows服务
一、服务器主机启动及相关配置
1.1 服务器主机启动
- 摆放主机,展开主机支架,保持稳定
- 连接键盘,鼠标及电源,将电源电缆线缠绕并固定在主机的固定夹上
- 开机启动
1.2 服务器配置
1.2.1 网络环境配置
- 打开 控制面板-网络和Internet-网络连接。
- 右键属性,选择Ipv4的网络配置。(这是在本机的相关配置,具体情况如ip,DNS视当下网络环境情况而定)
- 打开命令窗口,输入ipconfig查看ip是否成功设置。
PS:分别配置好两台主机服务器的IP,本次部署将192.168.5.40用作应用服务器,192.168.5.41用作数据存储服务器
1.2.2 打开服务器远程连接
- 右键我的电脑,选择属性,进入界面之后点击远程设置
- 勾选允许运行任意版本的远程桌面计算机连接
-
本地局域网电脑远程连接服务器主机
1. 开始菜单 - 所有程序 - 附件 - 远程桌面连接。 2. 根据1.2.1设置的ip连接服务器,输入账号密码完成连接。 3. 配置远程连接时,选择远程服务器可共享本地服务器资源盘。
1.2.3 配置防火墙出入规则,开放端口
- 打开 控制面板\系统和安全\Windows 防火墙。选择高级设置。
- 选择入站规则,根据向导设置。
第一步 选择端口。
第二步 选择TCP,指定端口号。
接下来默认下一步下一步即可。
- 命名该入站规则,端口开放完成,重启主机生效。
1.2.4 关闭windows自动更新服务
windows的自动更新服务在后续可能会导致一些未知的问题,在这事先关闭。
- 打开 控制面板\系统和安全\Windows Update。选择更改设置中的从不检查更新。
- 点击确定完成设置。
二、安装Java运行环境
连接用作应用服务器的192.168.5.40.
2.1 安装JDK1.8
-
到官网下载想要的
JDK
版本。下载网址: https://www.oracle.com/technetwork/java/javase/archive-139210.html我这里下载的版本为
jdk-8u192-windows-x64
. 双击安装
jdk路径安装至D:\Java\jdk1.8.0_192
jre路径安装至D:\Java\jre1.8.0_192
- 配置
Java
环境变量
3.1 右键我的电脑,选择属性,高级系统设置,点击环境变量进行环境变量设置。
3.2 点击系统变量下的【新建】。变量名为 JAVA_HOME,变量值为Jdk的安装路径,即:D:\Java\jdk1.8.0_192,点击【确认】
3.3 找到系统变量Path,点击【编辑】按钮。在变量值最前面加上 %JAVA_HOME%\bin; (包括分号),点击【确认】
3.4 最后点击环境变量的【确定】,Java环境变量设置已完成
3.5 打开命令行窗口(window+R组合键),输入cmd,在命令行窗口输入 java -version,确认是否安装成功
三、安装应用运行所需软件
连接用作数据服务器的192.168.5.41.
使用以上提供的防火墙出入规则配置方法开放以下端口:3306,6379,5672,15672
3.1 安装Mysql
3.1.1 下载Mysql
安装包
- 进入
Mysql
官网https://dev.mysql.com/downloads/mysql/下载安装包,MSI为图形化界面安装,ZIP为压缩包安装。这里我下载的是windows 5.7.24的ZIP版本
3.1.2 安装Mysql
- 解压
ZIP
安装包至D
盘根目录,解压后的目录为D:\mysql-5.7.24-winx64
。进入该目录,创建一个data的空文件夹。
-
创建一个
my.ini
的文件,放在bin
目录下。内容为:[mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] #设置3306端口 port = 3306 # 设置mysql的安装目录 basedir=D:/mysql-5.7.24-winx64 # 设置mysql数据库的数据的存放目录 datadir=D:/mysql-5.7.24-winx64/data # 允许最大连接数 max_connections=200 # 服务端使用的字符集默认为8比特编码的latin1字符集 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB
- 以管理员身份运行
DOS
窗口。进入到Mysql
的bin
文件夹
输入 mysqld --initialize --user=mysql --console
- 继续执行命令
mysqld -install
安装Mysql
(若显示已存在,可使用mysql -remove
删除)
- 执行命令
net start mysql
启动Mysql
-
使用第三步安装时生成的密码登陆
Mysql
mysql -uroot -p
在
Mysql
命令行执行如下命令修改密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'invengomysqladmin';
- 在
Mysql
命令行执行如下命令开放远程访问:
grant all privileges on *.* to 'root' @'%' identified by 'root';
flush privileges;
PS:单引号中''为提供远程连接访问的密码,可以和Linux中的密码不一样,自己设置。
至此,Mysql
安装完毕。
3.1.3 使用Navicate
测试一下是否能成功连接
3.2 安装Redis
3.2.1 下载Redis
安装包
下载地址: https://github.com/MicrosoftArchive/redis/releases
Redis 支持 32 位和 64 位,这里我下载的版本是 Redis-x64-3.2.100.zip
3.2.2 安装Redis
- 解压
ZIP
安装包至服务器D:\Redis
路径下。
-
修改配置文件
redis.windows.conf
。1. 修改 bind 127.0.0.1 为 当前服务器的ip.我这里是 192.168.5.41 2. 修改 logfile 的地址为 D:/logs/redis/redis.log PS: 注意斜杠的方向 如果logfile的斜杠不对,启动redis会失败,报错如下: *** FATAL CONFIG FILE ERROR *** Reading the configuration file, at line 52 >>> 'logfile D:\HMS Build\logs\redis.log' Can't open the log file: Invalid argument 3. 若有密码 修改requirepass
-
配置
Windows
环境下Redis
自启动- 打开
CMD
窗口,进入到Redis
的安装目录D:\Redis
下,运行以下命令:
redis-server --service-install redis.windows.conf --loglevel verbose
- 打开
3.2.3 运行Redis
的两种方式
- 方式一【推荐】:打开
windows
的运行窗口,输入service.msc
打开服务管理窗口,双击启动Redis
服务
或者进入到Redis的安装目录,在cmd命令行窗口输入:
redis-server --service-start 启动Redis
PS : redis-server --service-stop 关闭Redis
- 方式二:
1. 打开CMD窗口,进入到Redis的安装目录D:\Redis下
2. 运行:redis-server.exe redis.windows.conf
3. 打开另一个CMD窗口,进入到D:\Redis,输入redis-cli.exe -h 127.0.0.1 -p 6379
PS: 该方式二启动的redis-server.exe窗口打开之后请勿关闭。
3.2.4 其他机器测试Redis
运行情况
3.3 安装RabbitMQ
3.3.1 下载RabbitMQ
及Erlang
环境安装包
RabbitMQ依赖于Erlang环境,所以安装前需要先下载Erlang。都下载最新版的就行。
下载地址:
Erlang : http://www.erlang.org/downloads
RabbitMQ : http://www.rabbitmq.com/download.html
3.3.2 安装Erlang
双击下载下来的Erlang OTP21.2
安装包,可直接默认下一步完成安装,也可自定义安装目录。
本次安装至 D:\RabbitMQ\erl10.2
目录下。其他按默认设置完成安装。
3.3.3 安装RabbitMQ-server
双击下载下来的rabbitmq-server-3.7.10.exe
安装包,可直接默认下一步完成安装,也可自定义安装目录。
本次安装至 D:\RabbitMQ\RabbitMQ Server
目录下。
安装程序到此就完成了。默认安装的Rabbit MQ 监听端口是5672。网页访问的端口是15672。
3.3.4 配置RabbitMQ
- 打开
DOS
命令窗口,进入到RabbitMQ
的安装目录D:\RabbitMQ\RabbitMQ Server\rabbitmq_server-3.7.10\sbin
,输入以下命令查看是否安装成功。
rabbitmqctl status : 查看rabbitmq状态
- 激活
Rabbit MQ's Management Plugin
管理插件
rabbitmq-plugins enable rabbitmq_management : 使用Rabbit MQ 管理插件,可以更好的可视化方式查看Rabbit MQ 服务器实例的状态
- 添加用户
rabbitmqctl list_users : 查看所有用户
rabbitmqctl add_user username password 添加用户
rabbitmqctl set_user_tags username administrator : 为角色xx添加管理员权限
rabbitmqctl set_permissions -p / username ".*" ".*" ".*"
3.3.5 测试RabbitMQ
安装情况
访问 http://192.168.5.41:15672,使用刚刚创建的用户登陆
经过测试,服务器重启以上服务都能够开机自启。
连接用作应用服务器的192.168.5.40.
该服务器需要安装的应用软件有 Nginx
.
3.4 安装Nginx
3.4.1 下载Nginx
安装包
官网地址 : http://nginx.org/
下载地址 : http://nginx.org/en/download.html
这里我安装的版本为 nginx/Windows-1.15.8
3.4.2 安装Nginx
1. 将压缩包解压至 D:\Java\nginx-1.15.8
2. 将 Nginx 安装为windows服务,更详细的步骤解释见4.2
2.1 将winsw的exe文件及xml文件拷贝到nginx当前目录
2.2 修改两个文件的名称相同,这里取为nginx-service.exe及nginx-service.xml
2.3 修改nginx-service.xml文件,详细配置内容见该段末尾
3. 安装Nginx系统服务或者卸载Nginx系统服务
nginx-service.exe install
nginx-service.exe uninstall
4. 配置nginx.conf内容
nginx-service.xml
配置内容:
Nginx
Nginx
本服务用于加载Nginx服务,请确保开机启动。
D:\Java\nginx-1.15.8\logs
Automatic
nginx.exe
nginx.exe
-s
stop
rotate
nginx.conf
配置内容:
以下为nginx.conf内容
#user nobody;
worker_processes 6;
error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 2048;
}
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
# user模块
upstream user-server {
ip_hash;
server 192.168.5.40:7002 max_fails=2 fail_timeout=30s ;
}
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
}
location /box-user {
proxy_pass http://user-server;
index index.html index.htm;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
3.4.3 启动Nginx
这里提供两种启动方式:
- 服务列表手动点击启动。
运行 Win+R 输入: services.msc,进入到 Windows 系统服务列表启动 Nginx
- 命令行启动方式。
1. 按下Win+X+A键。打开命令提示符(管理员模式)
2. 输入:net start nginx 启动Nginx服务
四、应用服务部署及启动
使用远程连接连接到192.168.5.40应用服务器。
4.1应用程序部署
应用服务含7个模块:config,user,member,epc,pay,door,web
。
均已jar
包启动。以上模块包存放路径D:\app\StdBox\
下。
4.2 将应用服务部署为Windows服务
Spring
官方推荐使用winsw
来将springboot项目作为服务运行,参考 https://docs.spring.io/spring-boot/docs/1.5.9.RELEASE/reference/htmlsingle/#deployment-windows
4.2.1 准备好待运行的jar包
4.2.2 下载winsw
winsw
是一款可将可执行程序安装成Windows Service的开源工具,github:https://github.com/kohsuke/winsw/releases
下载文件:
4.2.3 将winsw
执行程序与xml
文件改成相同的名字
1. 将 sample-minimal.xml 与 WinSW.NET4.exe 拷贝至 jar包当前目录。
2. 修改这两个文件名为相同(可与jar包文件名不同)
3. 修改xml文件中的配置内容
以下贴出xml文件中的配置内容:
box-config-2.3.0
box-config-2.3.0 Service
This service is a box-config-2.3.0 service
java
-jar box-config-2.3.0.jar
logs
rotate
4.2.4 DOS
进入目录安装服务
使用管理员权限进入 DOS 窗口,执行命令 :
box-config-2.3.0.exe install
执行完毕可以看到服务注册成功。在服务列表启动和关闭服务。
如果不再需要这个服务,使用box-config-2.3.0.exe uninstall即可卸载服务。
将其他应用程序按照此程序都安装为Windows服务。此处省略。