Back
Featured image of post 服务器部署项目

服务器部署项目

服务器部署项目

常见Linux命令

查看内存: free -h

查看存储空间: df -h

查看当前运行的软件: top

查看当前目录下的所有文件: ls (ll: 将所有文件按列表展示)

解压文件: tar -zxvf 文件名

压缩文件: tar -zcvf 文件名

修改文件名: mv jdk1.8.0_321 jdk1.8

移动文件到另一个文件夹: mv jdk1.8 /usr/local/

用vim编辑文件:vim /etc/profile

查看文件最后一屏: cat /etc/profile

ubantu查看版本及内核:uname -a

pwd: 查看当前目录

ps -ef :查看进程 (搭配grep使用 【 grep :强大的文本搜索命令】)

ps -ef | grep java: 查看Java进程号

kill -9 进程号:杀掉该进程

nohup java -jar springboot-0.0.1-SNAPSHOT.jar & :将Java项目放在后台启动

vim使用
按 A :进入编辑模式
按 esc: 退出编辑模式
输入:  :wq  保存

Linux配置Java环境变量

用vim编辑文件:

vim /etc/profile

在文件最后添加如下配置:

export JAVA_HOME=/usr/local/jdk1.8
export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin

配置完环境变量后,需要使用 source /etc/profile 命令刷新,然后输入 java -version 才能看到java版本号

阿里云配置安全组

image-20220402201240016

项目所需环境放在: home/package 目录下

ubantu一键安装docker:

curl -sSL https://get.daocloud.io/docker | sh

启动docker:

sudo usermod -aG docker $USER

设置root权限:

sudo usermod -aG docker $USER

开机自启docker:

systemctl enable docker

docker启动mysql:

docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7

修改权限

//进入mysql容器:
docker exec -it ae9e09ebfc10 /bin/bash
//mysql容器id:ae9e09ebfc10

// 登录mysql:
mysql -uroot -proot
// 修改权限:
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
或者:ALTER USER 'root'@'%' IDENTIFIED BY '123456';
flush privileges;

服务器springboot项目目录:

/home/server/springboot/

打包springboot项目:

//跳过测试
mvn clean package -DskipTests

服务器启动springboot项目:

chmod 777 文件名 //文件授权
java -jar 文件名

把springboot项目放在后台启动,

nohup java -jar springboot-0.0.1-SNAPSHOT.jar &

前端启动使用 nginx 代理打包的dist目录实现前端页面的访问

查看springboot后台日志:

//springboot目录下
cat nohup.out  

查看java进程:

ps -ef | grep java

关闭进程

kill -9 进程号

安装 anywhere前端静态资源服务器插件:

npm install anywhere -g

vue dist nginx配置反向代理:

location / {
            root /home/server/dist;
            index index.html index.htm;
            try_files $uri $uri/ /index.html;
        }

nginx重启:

/nginx -s reload

注意:前端文件上传和导出的 url都需要配置 serverIp

后台ip配置:

server:
	ip: 8.142.136.215
	port: 9090

文件上传、下载和导出都需要使用到服务器的公网IP

接口请求也需要使用公网IP

注意:User.vue中上传按钮必须这样写(用单引号拼接):

<el-upload :action="'http://' + serverIp + ':9090/user/import'" 

修改hosts文件:(C:\Windows\System32\drivers\etc)


8.142.136.215 www.sheephe.com 

将服务器IP映射到域名(只对本机有效

访问服务器端Swagger出现弹窗:

两种可能:

1、在SwaggerConfig.java文件中加上 @EnableSwagger2注解

2、被拦截器拦截,在拦截器配置中放行静态文件:

@Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(jwtInterceptor())
                .addPathPatterns("/**")  // 拦截所有请求,通过判断token是否合法来决定是否需要登录
                .excludePathPatterns("/user/login", "/user/register", "/**/export", "/**/import", "/file/**","/swagger-resources/**", "/webjars/**", "/v2/**", "/swagger-ui.html/**", "/api", "/api-docs", "/api-docs/**")
                .excludePathPatterns( "/**/*.html", "/**/*.js", "/**/*.css","/**/*.woff", "/**/*.ttf");  // 放行静态文件
    }

前端打包:

npm run build

打包成dist目录

在dist目录下,输入: anywhere -p 8080 可以启动前端项目

服务器文件上传

如果数据库中已经有这个文件了,则不会上传,或直接获取它已有的url

后台上传文件接口,用serverIp拼接不生效,直接写死即可

comments powered by Disqus
Built with Hugo
Theme Stack designed by Jimmy