@Author Jacky Wang , 轉(zhuǎn)載請注明出處 http://www.itdecent.cn/p/ebbaccf3db5b
包含內(nèi)容:
1. windows環(huán)境的網(wǎng)絡(luò)配置
2. windows下安裝jdk,rabbitmq,redis,mysql,nginx
3. 將應(yīng)用服務(wù)發(fā)布為Windows服務(wù)
一、服務(wù)器主機啟動及相關(guān)配置
1.1 服務(wù)器主機啟動
- 擺放主機,展開主機支架,保持穩(wěn)定
- 連接鍵盤,鼠標及電源,將電源電纜線纏繞并固定在主機的固定夾上
- 開機啟動
1.2 服務(wù)器配置
1.2.1 網(wǎng)絡(luò)環(huán)境配置
- 打開 控制面板-網(wǎng)絡(luò)和Internet-網(wǎng)絡(luò)連接。

- 右鍵屬性,選擇Ipv4的網(wǎng)絡(luò)配置。(這是在本機的相關(guān)配置,具體情況如ip,DNS視當(dāng)下網(wǎng)絡(luò)環(huán)境情況而定)

- 打開命令窗口,輸入ipconfig查看ip是否成功設(shè)置。

PS:分別配置好兩臺主機服務(wù)器的IP,本次部署將192.168.5.40用作應(yīng)用服務(wù)器,192.168.5.41用作數(shù)據(jù)存儲服務(wù)器
1.2.2 打開服務(wù)器遠程連接
- 右鍵我的電腦,選擇屬性,進入界面之后點擊遠程設(shè)置
- 勾選允許運行任意版本的遠程桌面計算機連接

-
本地局域網(wǎng)電腦遠程連接服務(wù)器主機
1. 開始菜單 - 所有程序 - 附件 - 遠程桌面連接。 2. 根據(jù)1.2.1設(shè)置的ip連接服務(wù)器,輸入賬號密碼完成連接。 3. 配置遠程連接時,選擇遠程服務(wù)器可共享本地服務(wù)器資源盤。


1.2.3 配置防火墻出入規(guī)則,開放端口
- 打開 控制面板\系統(tǒng)和安全\Windows 防火墻。選擇高級設(shè)置。

- 選擇入站規(guī)則,根據(jù)向?qū)гO(shè)置。
第一步 選擇端口。
第二步 選擇TCP,指定端口號。
接下來默認下一步下一步即可。
- 命名該入站規(guī)則,端口開放完成,重啟主機生效。
1.2.4 關(guān)閉windows自動更新服務(wù)
windows的自動更新服務(wù)在后續(xù)可能會導(dǎo)致一些未知的問題,在這事先關(guān)閉。
- 打開 控制面板\系統(tǒng)和安全\Windows Update。選擇更改設(shè)置中的從不檢查更新。

- 點擊確定完成設(shè)置。
二、安裝Java運行環(huán)境
連接用作應(yīng)用服務(wù)器的192.168.5.40.
2.1 安裝JDK1.8
-
到官網(wǎng)下載想要的
JDK版本。下載網(wǎng)址: 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環(huán)境變量
3.1 右鍵我的電腦,選擇屬性,高級系統(tǒng)設(shè)置,點擊環(huán)境變量進行環(huán)境變量設(shè)置。
3.2 點擊系統(tǒng)變量下的【新建】。變量名為 JAVA_HOME,變量值為Jdk的安裝路徑,即:D:\Java\jdk1.8.0_192,點擊【確認】
3.3 找到系統(tǒng)變量Path,點擊【編輯】按鈕。在變量值最前面加上 %JAVA_HOME%\bin; (包括分號),點擊【確認】
3.4 最后點擊環(huán)境變量的【確定】,Java環(huán)境變量設(shè)置已完成
3.5 打開命令行窗口(window+R組合鍵),輸入cmd,在命令行窗口輸入 java -version,確認是否安裝成功




三、安裝應(yīng)用運行所需軟件
連接用作數(shù)據(jù)服務(wù)器的192.168.5.41.
使用以上提供的防火墻出入規(guī)則配置方法開放以下端口:3306,6379,5672,15672

3.1 安裝Mysql
3.1.1 下載Mysql安裝包
- 進入
Mysql官網(wǎng)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。進入該目錄,創(chuàng)建一個data的空文件夾。


-
創(chuàng)建一個
my.ini的文件,放在bin目錄下。內(nèi)容為:[mysql] # 設(shè)置mysql客戶端默認字符集 default-character-set=utf8 [mysqld] #設(shè)置3306端口 port = 3306 # 設(shè)置mysql的安裝目錄 basedir=D:/mysql-5.7.24-winx64 # 設(shè)置mysql數(shù)據(jù)庫的數(shù)據(jù)的存放目錄 datadir=D:/mysql-5.7.24-winx64/data # 允許最大連接數(shù) max_connections=200 # 服務(wù)端使用的字符集默認為8比特編碼的latin1字符集 character-set-server=utf8 # 創(chuàng)建新表時將使用的默認存儲引擎 default-storage-engine=INNODB

- 以管理員身份運行
DOS窗口。進入到Mysql的bin文件夾
輸入 mysqld --initialize --user=mysql --console

- 繼續(xù)執(zhí)行命令
mysqld -install安裝Mysql(若顯示已存在,可使用mysql -remove刪除)

- 執(zhí)行命令
net start mysql啟動Mysql

-
使用第三步安裝時生成的密碼登陸
Mysqlmysql -uroot -p 在
Mysql命令行執(zhí)行如下命令修改密碼:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'invengomysqladmin';

- 在
Mysql命令行執(zhí)行如下命令開放遠程訪問:
grant all privileges on *.* to 'root' @'%' identified by 'root';
flush privileges;
PS:單引號中''為提供遠程連接訪問的密碼,可以和Linux中的密碼不一樣,自己設(shè)置。

至此,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安裝包至服務(wù)器D:\Redis路徑下。

-
修改配置文件
redis.windows.conf。1. 修改 bind 127.0.0.1 為 當(dāng)前服務(wù)器的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環(huán)境下Redis自啟動- 打開
CMD窗口,進入到Redis的安裝目錄D:\Redis下,運行以下命令:
redis-server --service-install redis.windows.conf --loglevel verbose - 打開
3.2.3 運行Redis的兩種方式
-
方式一【推薦】:打開
windows的運行窗口,輸入service.msc打開服務(wù)管理窗口,雙擊啟動Redis服務(wù)
或者進入到Redis的安裝目錄,在cmd命令行窗口輸入:
redis-server --service-start 啟動Redis
PS : redis-server --service-stop 關(guān)閉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窗口打開之后請勿關(guān)閉。
3.2.4 其他機器測試Redis運行情況

3.3 安裝RabbitMQ
3.3.1 下載RabbitMQ及Erlang環(huán)境安裝包
RabbitMQ依賴于Erlang環(huán)境,所以安裝前需要先下載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目錄下。其他按默認設(shè)置完成安裝。

3.3.3 安裝RabbitMQ-server
雙擊下載下來的rabbitmq-server-3.7.10.exe安裝包,可直接默認下一步完成安裝,也可自定義安裝目錄。
本次安裝至 D:\RabbitMQ\RabbitMQ Server目錄下。


安裝程序到此就完成了。默認安裝的Rabbit MQ 監(jiān)聽端口是5672。網(wǎng)頁訪問的端口是15672。
3.3.4 配置RabbitMQ
- 打開
DOS命令窗口,進入到RabbitMQ的安裝目錄D:\RabbitMQ\RabbitMQ Server\rabbitmq_server-3.7.10\sbin,輸入以下命令查看是否安裝成功。
rabbitmqctl status : 查看rabbitmq狀態(tài)

- 激活
Rabbit MQ's Management Plugin管理插件
rabbitmq-plugins enable rabbitmq_management : 使用Rabbit MQ 管理插件,可以更好的可視化方式查看Rabbit MQ 服務(wù)器實例的狀態(tài)

- 添加用戶
rabbitmqctl list_users : 查看所有用戶
rabbitmqctl add_user username password 添加用戶
rabbitmqctl set_user_tags username administrator : 為角色xx添加管理員權(quán)限
rabbitmqctl set_permissions -p / username ".*" ".*" ".*"

3.3.5 測試RabbitMQ安裝情況
訪問 http://192.168.5.41:15672,使用剛剛創(chuàng)建的用戶登陸

經(jīng)過測試,服務(wù)器重啟以上服務(wù)都能夠開機自啟。
連接用作應(yīng)用服務(wù)器的192.168.5.40.
該服務(wù)器需要安裝的應(yīng)用軟件有 Nginx.
3.4 安裝Nginx
3.4.1 下載Nginx安裝包
官網(wǎng)地址 : 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服務(wù),更詳細的步驟解釋見4.2
2.1 將winsw的exe文件及xml文件拷貝到nginx當(dāng)前目錄
2.2 修改兩個文件的名稱相同,這里取為nginx-service.exe及nginx-service.xml
2.3 修改nginx-service.xml文件,詳細配置內(nèi)容見該段末尾
3. 安裝Nginx系統(tǒng)服務(wù)或者卸載Nginx系統(tǒng)服務(wù)
nginx-service.exe install
nginx-service.exe uninstall
4. 配置nginx.conf內(nèi)容
nginx-service.xml 配置內(nèi)容:
<configuration>
<service>
<!-- ID of the service. It should be unique accross the Windows system-->
<id>Nginx</id>
<!-- Display name of the service -->
<name>Nginx</name>
<!-- Service description -->
<description>本服務(wù)用于加載Nginx服務(wù),請確保開機啟動。</description>
<!-- winsw的日志保存路徑 -->
<logpath>D:\Java\nginx-1.15.8\logs</logpath>
<!-- 開機啟動 -->
<startmode>Automatic</startmode>
<executable>nginx.exe</executable>
<stopexecutable>nginx.exe</stopexecutable>
<stopargument>-s</stopargument>
<stopargument>stop</stopargument>
<logmode>rotate</logmode>
</service>
</configuration>
nginx.conf配置內(nèi)容:
以下為nginx.conf內(nèi)容
#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
這里提供兩種啟動方式:
- 服務(wù)列表手動點擊啟動。
運行 Win+R 輸入: services.msc,進入到 Windows 系統(tǒng)服務(wù)列表啟動 Nginx
- 命令行啟動方式。
1. 按下Win+X+A鍵。打開命令提示符(管理員模式)
2. 輸入:net start nginx 啟動Nginx服務(wù)

四、應(yīng)用服務(wù)部署及啟動
使用遠程連接連接到192.168.5.40應(yīng)用服務(wù)器。
4.1應(yīng)用程序部署
應(yīng)用服務(wù)含7個模塊:config,user,member,epc,pay,door,web。
均已jar包啟動。以上模塊包存放路徑D:\app\StdBox\下。

4.2 將應(yīng)用服務(wù)部署為Windows服務(wù)
Spring官方推薦使用winsw來將springboot項目作為服務(wù)運行,參考 https://docs.spring.io/spring-boot/docs/1.5.9.RELEASE/reference/htmlsingle/#deployment-windows
4.2.1 準備好待運行的jar包
4.2.2 下載winsw
winsw是一款可將可執(zhí)行程序安裝成Windows Service的開源工具,github:https://github.com/kohsuke/winsw/releases
下載文件:

4.2.3 將winsw執(zhí)行程序與xml文件改成相同的名字
1. 將 sample-minimal.xml 與 WinSW.NET4.exe 拷貝至 jar包當(dāng)前目錄。
2. 修改這兩個文件名為相同(可與jar包文件名不同)
3. 修改xml文件中的配置內(nèi)容
以下貼出xml文件中的配置內(nèi)容:
<configuration>
<!-- ID of the service. It should be unique accross the Windows system-->
<id>box-config-2.3.0</id>
<!-- Display name of the service -->
<name>box-config-2.3.0 Service</name>
<!-- Service description -->
<description>This service is a box-config-2.3.0 service</description>
<!-- Path to the executable, which should be started -->
<executable>java</executable>
<arguments>-jar box-config-2.3.0.jar</arguments>
<!-- 開機啟動 -->
<!-- <startmode>Automatic</startmode> -->
<!-- 日志配置 -->
<logpath>logs</logpath>
<logmode>rotate</logmode>
</configuration>

4.2.4 DOS進入目錄安裝服務(wù)
使用管理員權(quán)限進入 DOS 窗口,執(zhí)行命令 :
box-config-2.3.0.exe install
執(zhí)行完畢可以看到服務(wù)注冊成功。在服務(wù)列表啟動和關(guān)閉服務(wù)。
如果不再需要這個服務(wù),使用box-config-2.3.0.exe uninstall即可卸載服務(wù)。



將其他應(yīng)用程序按照此程序都安裝為Windows服務(wù)。此處省略。

