包含内容:
1. windows环境的网络配置
2. windows下安装jdk,rabbitmq,redis,mysql,nginx
3. 将应用服务发布为Windows服务
一、服务器主机启动及相关配置
1.1 服务器主机启动
摆放主机,展开主机支架,保持稳定
连接键盘,鼠标及电源,将电源电缆线缠绕并固定在主机的固定夹上
开机启动
1.2 服务器配置
1.2.1 网络环境配置
打开 控制面板-网络和Internet-网络连接。
1.png
右键属性,选择Ipv4的网络配置。(这是在本机的相关配置,具体情况如ip,DNS视当下网络环境情况而定)
image.png
打开命令窗口,输入ipconfig查看ip是否成功设置。
3.png
PS:分别配置好两台主机服务器的IP,本次部署将192.168.5.40用作应用服务器,192.168.5.41用作数据存储服务器
1.2.2 打开服务器远程连接
右键我的电脑,选择属性,进入界面之后点击远程设置
勾选允许运行任意版本的远程桌面计算机连接
4.png
本地局域网电脑远程连接服务器主机
1. 开始菜单 - 所有程序 - 附件 - 远程桌面连接。
2. 根据1.2.1设置的ip连接服务器,输入账号密码完成连接。
3. 配置远程连接时,选择远程服务器可共享本地服务器资源盘。
5.png
6.png
1.2.3 配置防火墙出入规则,开放端口
打开 控制面板\系统和安全\Windows 防火墙。选择高级设置。
7.png
选择入站规则,根据向导设置。
第一步 选择端口。
第二步 选择TCP,指定端口号。
接下来默认下一步下一步即可。
命名该入站规则,端口开放完成,重启主机生效。
1.2.4 关闭windows自动更新服务
windows的自动更新服务在后续可能会导致一些未知的问题,在这事先关闭。
打开 控制面板\系统和安全\Windows Update。选择更改设置中的从不检查更新。
8.png
点击确定完成设置。
二、安装Java运行环境
连接用作应用服务器的192.168.5.40.
2.1 安装JDK1.8
jdk路径安装至D:\Java\jdk1.8.0_192
jre路径安装至D:\Java\jre1.8.0_192
9.png
10.png
配置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,确认是否安装成功
11.png
12.png
13.png
14.png
三、安装应用运行所需软件
连接用作数据服务器的192.168.5.41.
使用以上提供的防火墙出入规则配置方法开放以下端口:3306,6379,5672,15672
36.png
3.1 安装Mysql
3.1.1 下载Mysql安装包
进入Mysql官网https://dev.mysql.com/downloads/mysql/下载安装包,MSI为图形化界面安装,ZIP为压缩包安装。这里我下载的是windows 5.7.24的ZIP版本
15.png
3.1.2 安装Mysql
解压ZIP安装包至D盘根目录,解压后的目录为 D:\mysql-5.7.24-winx64。进入该目录,创建一个data的空文件夹。
16.png
17.png
创建一个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
18.png
以管理员身份运行DOS窗口。进入到Mysql的bin文件夹
输入 mysqld --initialize --user=mysql --console
19.png
继续执行命令 mysqld -install安装Mysql (若显示已存在,可使用mysql -remove删除)
35.png
执行命令 net start mysql启动Mysql
20.png
使用第三步安装时生成的密码登陆Mysql
mysql -uroot -p
在Mysql命令行执行如下命令修改密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'invengomysqladmin';
21.png
在Mysql命令行执行如下命令开放远程访问:
grant all privileges on *.* to 'root' @'%' identified by 'root';
flush privileges;
PS:单引号中''为提供远程连接访问的密码,可以和Linux中的密码不一样,自己设置。
22.png
至此,Mysql安装完毕。
3.1.3 使用Navicate测试一下是否能成功连接
23.png
3.2 安装Redis
3.2.1 下载Redis安装包
Redis 支持 32 位和 64 位,这里我下载的版本是 Redis-x64-3.2.100.zip
24.png
3.2.2 安装Redis
解压ZIP安装包至服务器 D:\Redis路径下。
25.png
修改配置文件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
26.png
27.png
配置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
28.png
29.png
方式二:
1. 打开CMD窗口,进入到Redis的安装目录D:\Redis下
2. 运行:redis-server.exe redis.windows.conf
30.png
3. 打开另一个CMD窗口,进入到D:\Redis,输入redis-cli.exe -h 127.0.0.1 -p 6379
31.png
PS: 该方式二启动的redis-server.exe窗口打开之后请勿关闭。
3.2.4 其他机器测试Redis运行情况
32.png
3.3 安装RabbitMQ
3.3.1 下载RabbitMQ及Erlang环境安装包
RabbitMQ依赖于Erlang环境,所以安装前需要先下载Erlang。都下载最新版的就行。
下载地址:
33.png
34.png
3.3.2 安装Erlang
双击下载下来的Erlang OTP21.2安装包,可直接默认下一步完成安装,也可自定义安装目录。
本次安装至 D:\RabbitMQ\erl10.2目录下。其他按默认设置完成安装。
37.png
3.3.3 安装RabbitMQ-server
双击下载下来的rabbitmq-server-3.7.10.exe安装包,可直接默认下一步完成安装,也可自定义安装目录。
本次安装至 D:\RabbitMQ\RabbitMQ Server目录下。
38.png
39.png
安装程序到此就完成了。默认安装的Rabbit MQ 监听端口是5672。网页访问的端口是15672。
3.3.4 配置RabbitMQ
打开DOS命令窗口,进入到RabbitMQ的安装目录D:\RabbitMQ\RabbitMQ Server\rabbitmq_server-3.7.10\sbin,输入以下命令查看是否安装成功。
rabbitmqctl status : 查看rabbitmq状态
40.png
激活Rabbit MQ's Management Plugin管理插件
rabbitmq-plugins enable rabbitmq_management : 使用Rabbit MQ 管理插件,可以更好的可视化方式查看Rabbit MQ 服务器实例的状态
41.png
添加用户
rabbitmqctl list_users : 查看所有用户
rabbitmqctl add_user username password 添加用户
rabbitmqctl set_user_tags username administrator : 为角色xx添加管理员权限
rabbitmqctl set_permissions -p / username ".*" ".*" ".*"
42.png
3.3.5 测试RabbitMQ安装情况
访问 http://192.168.5.41:15672,使用刚刚创建的用户登陆
43.png
经过测试,服务器重启以上服务都能够开机自启。
连接用作应用服务器的192.168.5.40.
该服务器需要安装的应用软件有 Nginx.
3.4 安装Nginx
3.4.1 下载Nginx安装包
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;
}
}
}
44.png
3.4.3 启动Nginx
这里提供两种启动方式:
服务列表手动点击启动。
运行 Win+R 输入: services.msc,进入到 Windows 系统服务列表启动 Nginx
命令行启动方式。
1. 按下Win+X+A键。打开命令提示符(管理员模式)
2. 输入:net start nginx 启动Nginx服务
45.png
四、应用服务部署及启动
使用远程连接连接到192.168.5.40应用服务器。
4.1应用程序部署
应用服务含7个模块:config,user,member,epc,pay,door,web。
均已jar包启动。以上模块包存放路径D:\app\StdBox\下。
46.png
4.2 将应用服务部署为Windows服务
4.2.1 准备好待运行的jar包
4.2.2 下载winsw
winsw是一款可将可执行程序安装成Windows Service的开源工具,github:https://github.com/kohsuke/winsw/releases
下载文件:
47.png
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
48.png
4.2.4 DOS进入目录安装服务
使用管理员权限进入 DOS 窗口,执行命令 :
box-config-2.3.0.exe install
执行完毕可以看到服务注册成功。在服务列表启动和关闭服务。
如果不再需要这个服务,使用box-config-2.3.0.exe uninstall即可卸载服务。
49.png
50.png
51.png
将其他应用程序按照此程序都安装为Windows服务。此处省略。
55.png
52.png