javaweb项目部署
基于Linux系统下的部署,本次分享是我个人的分享笔记,自己在搭建时候遇到的问题。我搭建的是一个spring的maven项目
提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
提示:这里可以添加本文要记录的大概内容:
学习搭建云服务器的可以参考的的教程。
提示:以下是本篇文章正文内容,下面案例可供参考
一、项目的打包
示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。
1、指定war/jar打包方式
<packaging>war</packaging> <!-- jar包这里是jar,war包这里是war -->
2、pom.xml添加spring-boot-maven-plugin插件
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.0.1.RELEASE</version>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
3、pom.xml添加spring-boot-starter-tomcat依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
4、启动类继承SpringBootServletInitializer并重写configure方法**
@SpringBootApplication
public class Application extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Application.class);
}
public static void main(String[] args) throws Exception {
SpringApplication.run(Application.class, args);
}
}
5、如果上面的都有了用idea的话点击package即可。
二、在Linux中安装相应的环境
1.安装Java/maven环境,maven可不安装,不过maven可用于本地打包,在这里一起发一下。
下载jdk;
从oracle官方网站上下载1.8版本中的最新版的IDK。下载完成后,把文件通过WinSCP或者XFTP上传到服务器上。接着进行解压和配置环境变量。
下载地址: https://www.oracle.com/java/technologiesljavase/javase-jdk8-downloads.html
下载maven;
从Maven官方网站上下载最新版的压缩包。下载完成后,进行解压和配置环境变量。下载地址: https://maven.apache.org/download.cgi
下载
wget http://mirrors.cnnic.cn/apache/maven/maven-3/3.5.2/binaries/apache-maven-3.5.2-bin.tar.gz
下载好后通过ftp软件传到Linux服务器下然后解压,移动到一定路径,也可以不移。
解压命令
tar -zxvf 文件名称
移动命令
mv 当前路径 放置路径
在/etc/profile路径下加下一下命令
/etc/profile
export JAVA_HOME=(jdk路径)
export PATH=$PATH:$JAVA_HOME/bin
export MAVEN_HOME=(maven路径)
export PATH=$PATH:$MAVEN_HOME/bin
输入source /etc/profile是文件生效
2、安装MySQL
执行以下命令,下载并安装MySQL官方的Yum Repository。
分行执行每一条
wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql-community-server --nogpgcheck
方法一
重置密码
修改mysql的配置文件:vim etc/my.conf
添加:skip-grant-tables
重启数据库:systemctl start mysqld
免密码登录:mysql -u root
修改密码:show databases;
use mysql;
update user set authentication_string=PASSWORD("自定义密码") where user='root';
update user set plugin="mysql_native_password";
flush privileges;
quit;
方法二
查看默认密码
grep ‘temporary password’ /var/log/mysqld.log
执行以下命令,输入上条命令中MySQL的初始密码,登录数据库。
mysql -uroot -p
执行以下命令,修改MySQL默认密码。
set global validate_password_policy=0; #修改密码安全策略为低(只校验密码长度,至少8位)。
ALTER USER 'root'@'localhost' IDENTIFIED BY '12345678';
set global validate_password_length=1;(验证密码长度为一,这样就可以设任意简单密码了)
执行以下命令,授予root用户远程管理权限。
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '12345678';
也可以在docker容器中安装MySQL
#卸载旧版本
sudo yum remove docker \
docker-client \
docker-client-1atest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-1ogrotate \
docker-engine
#安装 Docker Engine-community
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io
sudo systemctl start docker
选择语言
注意:如果安装docker-ce报错,可以执行以下语句,再进行安衣。
yum insta17
https://down1oad. docker.com/1inux/fedora/30/x86_64/stab1e/Packages/containerd.io-1.2.6-3.3.fc30.x86_64.rpm
#查看可用的MysQL版本
docker search mysql
#拉取5.7版本
docker pull mysql:5.7
#创建配置文件目录
mkdir -p /data/docker/mysq1/conf
#进入配置文件目录,添加一个配置文件
vim /data/docker/mysql/conf/my.cnf
[mysqld]
character-set-server=utf8
[mysql]
default-character-set=utf8
#启动镜像
docker run -p 3306:3306 --name mysql -v /data/docker/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
docker ps
docker exec -it mysql bash //进入容器
mysql -uroot -p
设置MySQL密码
exit
exit
docker search mysql
导入数据库
mysql> create database abc; # 创建数据库
mysql> use abc; # 使用已创建的数据库
mysql> set names utf8; # 设置编码
mysql> source /home/abc/abc.sql # 导入备份数据库
3、下载Tmocat
下载
wget --no-check-certificate https://labfileapp.oss-cn-hangzhou.aliyuncs.com/apache-tomcat-8.5.72.tar.gz
解压
tar -zxvf apache-tomcat-8.5.72.tar.gz
移动并且修改名字
mv apache-tomcat-8.5.72 /usr/local/Tomcat8.5
执行以下命令,为Tomcat授权。
chmod +x /usr/local/Tomcat8.5/bin/*.sh
执行以下命令,修改Tomcat默认端口号为80。说明: Tomcat默认端口号为8080。
sed -i 's/Connector port="8080"/Connector port="80"/'/usr/local/Tomcat8.5/conf/server.xml
项目启动
第一步把打包的文件放置到,webapps下
然后修改/conf/server.xml如果这里不修改运行将会指向默认的界面
<Context path="" docBase="包名称" debug="0" privileged="true" reloadable="true"/>
然后在bin下启动
启动
./startup.sh
这时候已经可以可能到页面,但是无法访问数据库
关闭
./shotdown
这个路径在你运行第一次之后那个路径下有一个和你文件名字相同的文件、下面的、\WEB-INF\下class下修改MySQL驱动语言,lib下加入jar包,或者在Tmocat路径下的lib下加,
# datasource
spring.datasource.url=jdbc:mysql://localhost:3306/数据库名?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true
spring.datasource.username=用户
spring.datasource.password=密码
# MyBatis mapper
mybatis.mapper-locations=classpath:mappers/*.xml
如果没有jar包的去我首页下载
最后在重新启动就好了