Windows搭建后台的软件架构,涉及到部分软件要提前安装,安装之后最后都为/bin文件夹设置一下环境变量方便命令执行:
安装软件列表:IDEA、Maven、Nginx、Tomcat、Zookeeper、Kafka、MySQL。。。
一、IDEA安装
版本:IntelliJ IDEA 2021.3
IDEA是收费版本,免费试用只有一个月。利用这免费一个月(实际花费2周),初探spring boot和spring cloud的世界(初探一到初探九)。
二、Maven安装
版本:apache-maven-3.8.4
安装之后便能使用mvn命令
三、Ngnix安装
(一)版本:nginx-1.20.2,免安装版本,下载即可
(二)目录:
(三)简单配置:conf/nginx.conf
配置后,可通过http://localhost:8088/访问127.0.0.1:8790/8791的服务,负载均衡策略为1:1,注意testserver两处要一样,名字随意。
(四)启动ngnix.exe(配置更改要重启)
四、Tomcat安装
(一)版本:Apache Tomcat Version 8.5.73
(二)目录:
(三)简单配置
1、配置一个重要的环境变量:CATALINA_HOME,该变量在多个bin/下多个bat文件被引用:
即Tomcat的安装目录路径。
2、bin/setclasspath.bat
调用关系:startup.bat -> catalina.bat -> setclasspath.bat,所以需要在setclasspath.bat里面设置两个HOME变量(否则可能会找不到报错),最前面添加即可:
set JRE_HOME=D:JDKjrejre set JAVA_HOME=D:JDKjre
3、conf/server.xml和conf/logging.properties
(1)server.xml:
设置tomcat的端口号(war包里的port失效,以这里为准)
也可根据需要修改URL访问路径(指定访问应用的路径),这样访问http://localhost:8790/myapp就是对应访问GatewayZuul-8080这个文件夹内容了。如果配置path为/,则GatewayZuul-8080项目对应的访问URL是http://localhost:8790/,省去myapp。
另外,若无指定,默认访问项目是webapps/ROOT/index.jsp,或者在访问时候URL指定,比如我的webapps/是这样:
若无通过Context指定,访问GatewayZuul项目可以这样访问:http://localhost:8790/GatewayZuul/。 可以在GatewayZuul目录里添加index.jsp作为首页。(具体由web.xml指定,无web.xml则采用默认配置)。
(2)logging.properties,将UTF-8全部改为GBK,这样打印的日志不会出现乱码。
(四)启动运行
执行startup.bat即可,成功运行的窗口:
注意可能异常:
1、端口被占用,要查询端口并kill掉其他进程:
查询端口8791占用情况:
> netstat -aon|findstr "8791"
杀掉占用端口的进程21160:
> taskkill /pid "21160" /f
2、容易出现IDEA环境或者Java -jar xxx.war运行项目/模块正常,部署到tomcat之后出现异常(无法访问之类),可能原因:
(1)启动类要改造(在IDEA运行和在TOMCAT运行不同):
@SpringBootApplication
public class GatewayWebapp extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder){
System.out.println("I'm SpringApplicationBuilder: GatewayWebapp");
return builder.sources(GatewayWebapp.class);
}
public static void main(String[] args) {
SpringApplication.run(GatewayWebapp.class, args);
}
}
(2)POM依赖要改造,去除tomcat内置包(以下两个dependency都要写上)
org.springframework.boot spring-boot-starter-weborg.springframework.boot spring-boot-starter-tomcatorg.springframework.boot spring-boot-starter-tomcatprovided
(3)spring cloud gateway不支持tomcat的war包部署,所以spring cloud gateway项目不能打成war包部署,只能jar包部署。
(五)两个或多个Tomcat安装
再执行一遍apache-tomcat-8.5.73.exe,选择不同port。之后,要修改/bin/下的所有.bat文件中的CATALINA_HOME,替换为另一个比如CATALINA_HOME2即可,同时创建环境变量(如下图)。然后启动第二个tomcat的startup.bat,会加载这个tomcat的webapps/下面的项目(如果没替换CATALINA_HOME则会执行第一个tomcat的webapps/下面的项目)。
五、Zookeeper安装
(一)版本:apache-zookeeper-3.6.3
(二)目录:
(三)简单配置
conf/zoo.cfg
bin/:Linux对应.sh,Windows对应.cmd
zkEnv.cmd添加JAVA环境:
set JAVA=D:SOFTWAREjdkbinjava set JAVA_HOME=D:SOFTWAREjdk
(四)启动zookeeper
双击zkServer.cmd即可:
六、Kafka安装
(一)版本:kafka_2.13-2.5.0
(二)目录:
(三)简单配置:
config/zookeeper.properties:
config/server.properties:
(四)启动:
1、先启动zookeeper(如上述)。
如果没安装Zookeeper,可以使用kafka自带打包和配置好的Zookeeper:
> bin/zookeeper-server-start.sh config/zookeeper.properties
(据说Apache Kafka 2.8版本后不需要使用ZooKeeper)
2、启动kafka(注意bin/目录下还有一个windows目录,里面是对应的windows命令,即.bat命令)
bin/windows>kafka-server-start.bat ../../config/server.properties
上面是zookeeper启动在先,下面是kafka启动在后
(五)遇到异常:执行启动时候提示命令过长,其实是kafka的安装路径太深,将kafka的目录拷贝至路径较短的地方,就能正常运行起来。
七、MySQL安装
(参考springboot(二):数据库mysql8.0.19的下载安装_stonezry的专栏-CSDN博客)
(一)版本:mysql-8.0.27-winx64,绿色免安装版本
(二)目录
my.ini和Data是解压缩后创建的。
(三)简单配置
1、创建my.ini文件,内容如下:
[mysqld] # 设置3306端口 port=3306 # 设置mysql的安装目录 basedir=D:SOFTWAREMysql-8.0.27-winx64 # 设置mysql数据库的数据的存放目录,Data目录自己创建 datadir=D:SOFTWAREMysql-8.0.27-winx64Data # 允许最大连接数 max_connections=200 # 允许连接失败的次数。 max_connect_errors=10 # 服务端使用的字符集默认为utf8mb4 character-set-server=utf8mb4 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB # 默认使用“mysql_native_password”插件认证 #mysql_native_password default_authentication_plugin=mysql_native_password [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8mb4 [client] # 设置mysql客户端连接服务端时默认使用的端口 port=3306 default-character-set=utf8mb4
2、初始化并获取初始密码
以管理员身份启动cmd命令窗口(可右键cmd程序,管理员身份运行),执行初始化命令:
mysql-8.0.27-winx64bin>mysqld --initialize --console
初始化后,会在root@localhost后面出现一个随机初始密码(用于访问数据库),记下来用于后面更改密码。
3、安装和启动服务
先安装:
mysql-8.0.27-winx64bin>mysqld --install
再启动:
mysql-8.0.27-winx64bin>net start mysql
4、登录修改密码
mysql-8.0.27-winx64bin>mysql -u root -p
输入初始密码,然后进入mysql>模式:
在此模式下,可执行mysql诸多命令,包括修改密码命令:
mysql>ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';
(四)创建数据库
在登录模式下,比如创建一个名为十维之眼的数据库,然后用show命令查询:
mysql> create database shiweizhiyan;
mysql>show databases;
(五)数据库可视化工具Navicat
数据库操作,可以使用命令模式,也可以借助一些可视化的数据库管理工具,比如NavicatPremium15(试用版),能比较直观的管理数据库。首先是建立一个跟数据库的访问链接,之后双击对应数据库即变成绿色可访问。



