linux搭建环境和部署java项目

562 阅读4分钟

linux搭建环境

想在linux服务器中部署自己的项目首先得拥有一台服务器,可以去阿里云腾讯云或者其他云购买服务,又或者自己使用VM虚拟机搭建一个Linux服务器。 我当前使用的是CentOS / 8.4 x86_64 (64bit)的服务器,目前还有一个月就到期了,正好写一篇在Linux上项目部署的文章

环境需要JDK(我目前有1.8的包),csdn上传不了,蓝奏云限制100M,所以我将包拆分为0102不影响使用,失效了记得私信我,只要将01和02的内部文件放在一起即可! 在这里插入图片描述

蓝奏云,点击前往 密码:c24e

安装JDK

linux环境需要安装mysqlredisnginxjdktomcat 先将jdk包放在/opt下,新建一个jdk文件夹 在这里插入图片描述 使用unzip命令将01.zip和02.zip解压,然后将0102文件夹内的文件放置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

在这里插入图片描述 走完这一步可以试试javajavacjava -version 如果显示下面的图片,直接给jdk文件夹增加权限,命令:chmod -R 777 /opt/jdk 在这里插入图片描述 然后就没啥问题了 在这里插入图片描述

安装宝塔

如果有兴趣可以去了解一下手动安装mysqlredisnginx,想偷懒就可以和我一样用宝塔,直接在宝塔中安装mysqlredisnginx 可以直接使用下面的命令,或者去宝塔网站看看怎么玩的,访问-->宝塔安装 有兴趣可以了解一下LNMP都是一些一键安装的东西

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

自动安装中,懒人福利 在这里插入图片描述 宝塔安装nginx,redismysql,直接安装这三个东西 在这里插入图片描述

安装完后,可以在终端修改修改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.shcatalina.shstartup.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>