在Windows服务器上搭建WEB环境MySQL 5.7+JDK 1.8+Tomcat 8.5并使用war包进行部署+简单运行jar程序+Tomcat Manager快速部署

Archive方式安装MySQL

  1. MySQL官网下载archive版本的MySQL 5.7
    解压到D:\xingcyun_wzgl_server\mysql-5.7.26-winx64下,此时没有data目录是正常的,安装成功后才有
  2. 修改根目录下的my.ini,没有的话就新建一个。主要关注两个:port=3306basedir=mysql根路径,且使用字符编码为UTF-8的文本编辑器打开
[mysql]
#设置mysql客户端默认字符集
default-character-set=utf8 
[mysqld]
#设置3306端口
port=3306 
#设置mysql的安装目录
basedir=D:\\xingcyun_wzgl_server\\mysql-5.7.26-winx64
#允许最大连接数
max_connections=200
#服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
#创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
  1. 配置系统环境变量,注意用英文分号;隔开
  • 新建:变量名MYSQL_HOME变量值D:\xingcyun_wzgl_server\mysql-5.7.26-winx64
  • 新增:变量名Path变量值%MYSQL_HOME%\bin
  1. 以CMD管理员身份进入MySQL下的bin目录,手动注册安装,参数后接my.ini所在的路径:
    mysqld install MySQL --defaults-file="D:\xingcyun_wzgl_server\mysql-5.7.26-winx64\my.ini"

  2. 【可选,启动有问题才需要检查注册表】在注册表中修改ImagePath的数值数据(路径见截图下方)。修改为MySQL的bin目录下mysqld.exe的绝对路径:
    D:\xingcyun_wzgl_server\mysql-5.7.26-winx64\bin\mysqld.exe
    (注册表开启方式:运行框输入regedit.exe后以管理员权限运行)
    注册表

  3. 执行初始化mysqld --initialize-> 成功后无任何提示

  4. 启动mysql net start mysql-> 提示MySQL服务已启动

  5. 首次安装成功需要在data目录下的xxx.err文件中查看初始随机密码,密码描述如
    [Note] A temporary password is generated for root@localhost: NZ+uhXPq1zN.其中NZ+uhXPq1zN.即为初始随机密码

  6. 使用root账户登录后修改密码为123456*
    SET PASSWORD = PASSWORD(‘123456’);

  7. (可选)设置远程访问,创建名为hucong密码为123456的新用户,授权远程连接

  • 创建用户create user 'hucong'@'%' identified by '123456';
  • 授权访问grant all privileges on *.* to hucong@'%'identified by '123456';
  • 重载授权表FLUSH PRIVILEGES;

补充:

在控制反复开关MySQL服务导致**[MySQL服务正在启动或停止中,请稍候片刻后再试一次]**的错误,此时等待并不会解决,除了重启设备外还有一种方式就是手动结束MySQL服务,以管理员权限进入控制台:

  • 找到mysql服务 taskkill/f /t /im mysqld.exe
  • 强制结束mysql tasklist| findstr "mysql"

常见错误

  1. mysqld.exe 系统错误 缺少msvcr120.dll
    使用DirectX修复工具自动补齐缺失的DLL或者参考MySQL免安装版,遇到MSVCR120.dll文件丢失错误的解决方案
  2. 本地3306端口是否开放
    Windowser Server 2012 R2 开启特定端口
  3. 启动mysql服务报错:系统找不到指定文件或路径
  4. MySQL服务正在启动或停止中,请稍候片刻后再试一次【解决方案】

文章参考

卸载后重装MySQL57(可选)

由于之前默认安装,注册的服务为MySQL,此处重装后改成MySQL57,端口号3307方便与其他数据库区别

由于本机装了多个版本的MySQL,为以防万一,还是用管理员权限进入到相应bin目录(D:\xingcyun_wzgl_server\mysql-5.7.26-winx64\bin)下,执行:

# 停止 Mysql 服务
net stop mysql
# 调出服务管理器查看 Mysql 服务 状态
services.msc
# 删除 Mysql 服务
mysqld -remove

这个一步只是删除mysql服务,数据和配置都还在,备份数据库后删除根目录下的Data文件夹后,再次在bin目录下执行mysqld install MySQL57 --defaults-file=”D:\xingcyun_wzgl_server\mysql-5.7.26-winx64\my.ini
注:如何原来的安装注册位置与现在不同,则需要确认下注册表中ImagePath相应服务的mysqld.exe描述的位置,更新成新目录即可,可参照上文【Archive方式安装MySQL】配置

##简略安装启动步骤如下
#执行初始化
mysqld --initialize
#启动MySQL
net start mysql57
#登录数据库
mysql  -P3307 -uroot -p

常见问题:

  • 问题1:mysql: [Warning] Using a password on the command line interface can be insecure.
    原因:由于新版本数据库的安全策略,不允许-p后跟明文密码
    解决:可通过修改配置跳过安全策略或者-p后不输入密码回车,根据提示再输入密码

  • 问题2:RROR 1045 (28000): Access denied for user 'root'@'localhost' (using passwor:yes)
    原因:密码不正确。由于不是初次安装,Data目录下并不会生成临时密码
    解决:调整配置文件,windows下my.ini为例,[mysqld]后单独增加一行skip-grant-tables,重启服务后再次进入这不需要密码验证,附修改密码步骤:

    #修改密码
    user mysql;
    ALTER USER "root"@"localhost" IDENTIFIED BY "你的密码";
    
    #如果提示安全策略问题:ERROR 1819 (HY000): Your password does not satisfy the current policy   requirements
    #设置简单密码:
    SHOW VARIABLES LIKE 'validate_password%';
    set global validate_password_length=4;
    set global validate_password_policy=0;
    ALTER USER "root"@"localhost" IDENTIFIED BY "你的密码";
    

    MySQL8.0稍有不同:参考MySQL8.0.忘记密码解决报 ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES)

  • 问题3:ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)
    原因:要么是环境变量和服务没有注册对或者登录参数有问题,比如端口号
    解决:确认M用SQL服务是否正常启动或改用参数mysql -P3307 -uroot -p

  • 问题4:my.ini定义的路径问题,执行mysqld --initialize后报错:

    F:\source\mysql-8.0.21-winx64\bin>mysqld --initialize
    mysqld: Can't create directory 'F: ource\mysql-8.0.21-winx64\data\' (OS errno 2 - No such file or directory)
    2020-08-24T09:13:03.451493Z 0 [System] [MY-013169] [Server] F:\source\mysql-8.0.21-	winx64\bin\mysqld.exe (mysqld 8.0.21) initializing of server in progress as process 14896
    2020-08-24T09:13:03.451674Z 0 [ERROR] [MY-010338] [Server] Can't find error-message file 	'F:\source\mysql-8.0.21-winx64\bin\ ource\mysql-8.0.21-winx64\share\errmsg.sys'. Check error-	message file location and 'lc-messages-dir' configuration directive.
    2020-08-24T09:13:03.452124Z 0 [Warning] [MY-013242] [Server] --character-set-server: 'utf8' is 	currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. 	Please consider using UTF8MB4 in order to be unambiguous.
    2020-08-24T09:13:03.453593Z 0 [ERROR] [MY-010187] [Server] Could not open file 'F: 	ource\mysql-8.0.21-winx64\data\DESKTOP-F60R4P0.err' for error logging: Permission denied
    2020-08-24T09:13:03.478153Z 0 [ERROR] [MY-013236] [Server] The designated data directory F: 	ource\mysql-8.0.21-winx64\data\ is unusable. You can remove all files that the server added to it.
    2020-08-24T09:13:03.485116Z 0 [ERROR] [MY-010119] [Server] Aborting
    2020-08-24T09:13:03.485288Z 0 [System] [MY-010910] [Server] F:\source\mysql-8.0.21-			winx64\bin\mysqld.exe: Shutdown complete (mysqld 8.0.21)  MySQL Community Server - GPL.
    

    问题:配置文件目录路径问题
    解决:调整my.ini文件

    #basedir=F:\source\mysql-8.0.21-winx64 调整为
    basedir=F:\\source\mysql-8.0.21-winx64
    

    问题5:启动报错服务正在启动或停止中,请稍候片刻后再试一次。或提示服务没有响应控制功能。
    解决:

    datadir=F:\\source\mysql-8.0.21-winx64\data
    
  • 问题6:卸载mysql后再安装提示The service already exists!问题解决方法
    参考:卸载mysql后再安装提示The service already exists!问题解决方法

文章参考:

卸载后重装MySQL8.0(可选)

之前的是3306,MySQL8欲重装成3306MySQL8-0,所有指令都在bin目录下执行
1.清除旧数据:注册表、根目录下的data文件夹数据(保留data文件夹)

  1. 执行mysqld --initialize --console然后输出初始密码
  2. 执行>mysqld --install mysql8-0注册MySQL8.0的服务
  3. 执行net start mysql8-0启动服务
  4. 修改默认密码ALTER USER "root"@"localhost" IDENTIFIED BY "123456";

参考文档

附only_full_group_by错误解决方案

修改配置文件

  • 5.7x版本:sql_mode ='STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION'
  • 8.0x版本:sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

参考文档

安装配置JDK

以jdk 1.8为例: Java SE 8u211

  1. 访问oracle网站,找到Java SE 8的版本

  2. 执行JDK安装程序,以我为例

  • JDK安装在D:\xingcyun_wzgl_server\jdk1.8.0_211
  • JRE安装在D:\xingcyun_wzgl_server\jre1.8.0_211
  1. 配置系统环境变量
  • 新建:变量名JAVA_HOME变量值D:\xingcyun_wzgl_server\jdk1.8.0_211
  • 新建:变量名CLASSPATH变量值%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
  • 新增:变量名Path变量值%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
  1. 配置完成后进入控制台进行验证:输入java -version后输出:
C:\Users\Administrator>java -version
java version "1.8.0_211"
Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)

安装配置Tomcat

法一:使用tomcat提供的msi图形化安装配置,需预先配置JAVA_HOME等环境变量

以Tomcat 8为例,版本号为8.5.42

  1. 进入Apache官网下载Tomcat 8的Windows安装程序

  2. 执行安装程序,安装过程中系统会根据之前配置的CLASSPATH自动找到JRE的路径,然后选择安装路径,以我为例,Tomcat安装在D:\xingcyun_wzgl_server\Apache-tomcat-8.5.42

  3. 配置系统环境变量

  • 新建:变量名TOMCAT_HOME变量值D:\xingcyun_wzgl_server\Apache-tomcat-8.5.42
  • 新增:变量名Path变量值%TOMCAT_HOME%\bin
  1. 添加Tomcat服务:通过控制台进入Tomcat下的bin目录
    执行安装service.bat install
    (可选)清除之前添加的tomcat指令service remove tomcat8

  2. (可选)启动/关闭Tomcat(注册后任意位置启动)

  • 启动:net start tomcat8-> 运行tomcat服务了,窗口关闭后,tomcat服务器一会一直运行
  • 关闭:net stop tomcat8-> 停止tomcat服务输入命令
  • 查看:net start-> 查看运行的windows服务就可以查看运行的所有服务,如果tomcat服务在里面,说明tomcat服务正在运行
  1. (可选)启动/关闭Tomcat(对应Tomcat\bin目录下执行批处理)
  • 启动:.\startup.bat-> 运行tomcat服务了,并输出日志信息
  • 关闭:.\shutdown.bat-> 停止tomcat服务输入命令
  1. 访问本地localhost:8080出现tomcat图案即可

法二 Archive方式安装配置Tomcat,手动指定JDK路径,适合多版本jdk共存的方式

以Tomcat 8为例,版本号为8.5.42

  1. 进入Apache官网下载Tomcat 8的压缩包

  2. 解压到指定目录,进入tomcat的bin目录下

  3. 修改catalina.bat,在前面增加:set JAVA_HOME=D:\xingcyun_wzgl_server\jdk1.8.0_211

  4. 修改setclasspath.bat,在前面增加:
    set JAVA_HOME=D:\xingcyun_wzgl_server\jdk1.8.0_211
    set JRE_HOME=D:\xingcyun_wzgl_server\jre1.8.0_211

  5. 启动/关闭Tomcat(对应Tomcat\bin目录下执行批处理)

  • 启动:.\startup.bat-> 运行tomcat服务了,并输出日志信息
  • 关闭:.\shutdown.bat-> 停止tomcat服务输入命令

此方式无需添加修改任何环境变量

常见错误

  1. 启动服务后只有tomcat首页没有自己的项目:请参考下面部署war包并启动Tomcat
  2. 无法访问8080:更换端口检查端口占用情况
  3. web项目部署在tomcat后不能访问jsp页面,可以访问html页面
  4. 启动tomcat可以访问tomcat首页,不能访问自己的项目?
    参考文档

部署war包并启动Tomcat

直接部署

  1. 直接将war包放到Tomcat根目录下的webapps中,在Tomcat下的bin\下执行.\startup.bat,查看日志,访问站点localhost:8080

修改访问端口,手动指定Web容器路径

目标:war包放入其他指定路径D:\xingcyun_wzgl_server\data下;修改端口为8081

  1. 将war包放入D:\xingcyun_wzgl_server\data

  2. 修改Tomcat根目录下conf\server.xml文件,修改前注意备份

  • 将22行的SHUTDOWN端口从8005改为8015
  • 将69行的HTTP端口从8080改为8081
  • 将116行的AJP端口从8009改为8019
  • 将148行的内容
    <Host name="localhost"  appBase="webapps"
          	  unpackWARs="true" autoDeploy="true">
    
    修改为:
    <Host name="localhost"  appBase=""
        	    unpackWARs="true" autoDeploy="false">
    <Context path="" docBase="D:\\xingcyun_wzgl_server\\data\\material.war"  reloadable="true" crossContext="true"/>
    
    即取消webapps默认路径,新增Context path指定新war包所在路径
  1. 在Tomcat下的bin\下执行.\startup.bat,查看日志,访问站点localhost:8081

常见错误
1.Tomcat正常启动,日志直接输出项目启动用时没有额外输出,耗时极短显然启动失败,此时删掉Tomcat目录,用新的备份复制一份,修改对应server.xml,直接在新的Tomcat根目录下bin执行.\startup.bat即可

参考文档

简单运行jar

使用控制台进入jar所在目录
执行java -jar XXX.jar

Tomcat Manager快速管理应用

仅介绍从上文的直接部署切换至Tomcat Manager部署

  1. (可选)调整配置文件:tomcat/conf/server.xml,将默认起始页设置为tomcat首页
    调整前:
    <Host name="localhost"  appBase=""
    	    unpackWARs="true" autoDeploy="false">
    <Context path="" docBase="E:\\xingcyun\\data\\release\\material.war"  reloadable="true" crossContext="true"/>
    
    调整后:
    <Host name="localhost"  appBase="webapps"
    	    unpackWARs="true" autoDeploy="true">
    <!--<Context path="" docBase="F:\\source\\release\\material.war"  reloadable="true" crossContext="true"/> -->
    
  2. 添加manager-gui权限的用户:修改tomcat/conf/tomcat-users.xml,在<tomcat-users>标签中添加:
    <role rolename="manager-gui"/>
    <user name="admin" password="admin" roles="manager-gui"/>
    
  3. (可选)修改远程访问限制,修改tomcat/webapps/manager/META-INF/context.xmltomcat/webapps/host-manager/META-INF/context.xml,在下属性,可看到allow属性,它用正则表达式表示,默认仅允许本机访问,如下修改成允许任意ip访问:
    <Valve className="org.apache.catalina.valves.RemoteAddrValve"
    allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|\d+\.\d+\.\d+\.\d+" />
    
  4. (可选)修改部署时war包上传大小限制,修改tomcat\webapps\manager\WEB-INF\web.xml
    <!--  默认50mb -->
    <max-file-size>52428800</max-file-size>
    <max-request-size>52428800</max-request-size>
    
  5. 重启tomcat,访问相应端口
    在这里插入图片描述
  6. 进入manager控制台,上传应用程序包,账号密码即manager-gui设置的内容
    在这里插入图片描述
  7. 以上传的wzgl.war为准,访问localhost:8090/wzgl即可访问应用

参考文档

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值