linux搭建环境
想在linux服务器中部署自己的项目首先得拥有一台服务器,可以去阿里云、腾讯云或者其他云购买服务,又或者自己使用VM虚拟机搭建一个Linux服务器。
我当前使用的是CentOS / 8.4 x86_64 (64bit)的服务器,目前还有一个月就到期了,正好写一篇在Linux上项目部署的文章
环境需要JDK(我目前有1.8的包),csdn上传不了,蓝奏云限制100M,所以我将包拆分为01和02不影响使用,失效了记得私信我,只要将01和02的内部文件放在一起即可!
蓝奏云,点击前往 密码:c24e
安装JDK
linux环境需要安装mysql, redis,nginx,jdk,tomcat
先将jdk包放在/opt下,新建一个jdk文件夹
使用
unzip命令将01.zip和02.zip解压,然后将01和02文件夹内的文件放置jdk文件夹内
unzip 01.zip
unzip 02.zip
然后使用
mv命令将01 02文件夹下的文件放入jdk文件夹中
mv是移动 第一个是目标,第二个是移动到某个位置
mv 01/* ./jdk/
mv 02/* ./jdk/
文件都移动进去了
使用
vim编辑 /etc/profile 文件,进入之后摁下键,移动到最底部,摁i键然后就能编辑了
然后将这段环境粘贴,
/opt/jdk是刚刚存放jdk目录
export JAVA_HOME=/opt/jdk
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
然后摁Esc键,然后:wq
然后执行下面的命令
source /etc/profile
走完这一步可以试试
java、 javac、 java -version
如果显示下面的图片,直接给jdk文件夹增加权限,命令:chmod -R 777 /opt/jdk
然后就没啥问题了
安装宝塔
如果有兴趣可以去了解一下手动安装mysql,redis,nginx,想偷懒就可以和我一样用宝塔,直接在宝塔中安装mysql,redis,nginx
可以直接使用下面的命令,或者去宝塔网站看看怎么玩的,访问-->宝塔安装
有兴趣可以了解一下LNMP都是一些一键安装的东西
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
自动安装中,懒人福利
宝塔安装
nginx,redis,mysql,直接安装这三个东西
安装完后,可以在终端修改修改mysql密码,输入bt回车,输入7就能强制修改密码了
宝塔放行
3306端口,在云服务器关联的安全组中开放3306的端口
若是此时还不能连接,就在
终端登陆mysql,进行修改
如果
root对应的是localhost,改成%
select user,host from mysql.user;
修改命令,执行完之后执行
flush privileges;刷新一下数据,
update mysql.user
set host = '%'
where user='root';
我的就通了,连接地址是ip,端口3306,账号root
tomcat
tomcat下载
将
tomcat上传值linux中的opt文件夹下,然后使用unzip解压tomcat,摁tab键会自动补齐名称的
进入
tomcat文件夹下的bin
然后为
shutdown.sh 、catalina.sh、startup.sh赋予权限,命令: chmod -R 777 shutdown.sh,然后就绿了
目前有两种运行方式,1:将项目打成jar包,直接以java -jar xxx.jar运行,第二:采用war方式运行,也就是放在tomcat文件夹下运行
第一种:
pom.xml中设置jar,选择右边的install
然后就能看到这个jar包了
上传到服务器
记得创建数据库和导入数据,然后再去运行
nohup java -jar demo-1.0-SNAPSHOT.jar >logs.txt &
可以去看一下 logs.txt文件,是否运行成功,成功即可使用wget访问自己的项目,下图这样就算成功了,
第二种:
修改pom.xml中的packaging内容为war,然后用package打成war包
然后将打包出来的包名修改一下,改成ROOT.war,改成ROOT.war可以无需带包名访问
然后去linux中
tomcat下的webapps文件夹,将webapps文件夹下的文件全部删除,然后将war包传到webapps
然后从终端去
tomcat文件夹下的bin,运行./startup.sh,运行访问命令:wget 127.0.0.1:8080,这样就算正常了
nginx配置
从宝塔内选择配置文件
修改
nginx配置文件,ip请填写自己的ip或者绑定了当前服务器的域名,服务器马上就过期了,所以拿出来玩玩
然后去
服务重新加载一下配置
访问地址 http://106.13.59.188/
springboot 运行war问题
pom.xml
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
####Springboot启动类
继承SpringBootServletInitializer 实现configure
@SpringBootApplication
@MapperScan("com.macro.dao")
public class ApplicationBoot extends SpringBootServletInitializer {
public static void main(String[] args) {
ConfigurableApplicationContext context = SpringApplication.run(ApplicationBoot.class);
//从yml中读取项目的启动端口,若是填写项目名称,也可获取
String port = context.getEnvironment().getProperty("server.port");
System.out.println("访问地址: http://127.0.0.1:" + port);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(ApplicationBoot.class);
}
}
没有主清单属性
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>