linux部署项目所遇到的问题

本文档详细介绍了如何在Linux环境下进行文件权限修改、Gradle环境配置、Tomcat及Nginx安装、Java版本切换等操作,并提供了MySQL数据库连接问题解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

修改文件权限
   chmod 400 XXX.pem 修改权限
o:others:其他
g:group:所属组
u:user:所有者
      sudo chmod o-w /etc/nginx/certs 
grade导入第三方自定义jar包
     在build.gradle的配置文件下
compile files( 'web/WEB-INF/conf/jar/TGCommonVO-3.5.7.1.jar', 'web/WEB-INF/conf/jar/TGRAToolkit-3.5.7.1.jar')
     注:不能放在WEB_INF/lib下
linux上用yum安装grade,tomcat (tomcat7,java8),nginx,mysql
1、用yum安装
yum search tomcat 查看可安装的软件
yum list installed tomcat7* 查看已安装的软件包
          yum install tomcat7  安装
           rpm -ql nginx | cat -n 查看nignx安装目录
      2、有些安装包是用yum搜索不到的,直接wget下载
2.1、下载
     简单说一下-c参数, 这个也非常常见, 可以断点续传, 如果不小心终止了, 可以继续使用命令接着下载
2.2、解压 unzip ~/gradle- 2.2 . 1 -all.zip
2.3、 设置运行环境
$sudo vi /etc/profile
在文件中增加GRADLE_HOME输出路径,并且修订PATH设置如下
export GRADLE_HOME=/usr/share/gradle-2.14.1/
PATH=$PATH:$GRADLE_HOME/bin
export PATH
在PATH语句后面追加${GRADLE_HOME}/bin,让系统能够找到可执行文件的路径。

如果你不希望所有用户都使用这个配置,那么可以单独为自己的账号配置gradle环境,
在自己账号的HOME目录下
$ vi .bash_profile
进行类似的编辑即可。
2.4、 保存退出后,为了让修改即时生效,执行
     $source /etc/profile
2.5、查看grade 版本
     gradle -version
          
git拷贝
      git clone https://git.oschina.net/trustasia/cfca_mpki.git 从git上clone项目
grade copy项目到tomcat 的web apps下权限问题
     手动创建文件夹在webapps下,用usermode修改权限
     sudo usermod -G tomcat,ec2-user ec2-user或sudo usermod -a -G tomcat ec2-user
     加过之后重新连接服务器
nginx配置文件
     在/etc/nginx/cong.d/cfca_mpki.conf中配置相关信息
java编译version52错误,java版本过低,切换java8编译项目
     切换版本
     update-alternatives --config java
     在命令行显示的内容中选择需要的jdk版本的序号,2回车
     update-alternatives --config javac javac选择同上
     最后用java -version 和javac -version来检查一下版本,是不是已经更换
mysql数据库连接问题
大小写
添加lower_case_table_names=1,表示mysql不区分大小写,这段代码必须在[mysqld_safe]之前。
sudo vim /etc/my.cnf 
### 如何在 Linux 系统中部署软件项目 #### 准备工作 在开始部署之前,需要确保目标 Linux 环境已经准备好。这通常包括安装必要的依赖项以及配置环境变量。例如,在某些情况下可能需要安装 JDK 或者 .NET 运行时。 对于 Java 项目,可以按照以下方式解压 JDK 并设置环境变量: ```bash tar -zxvf jdk-8u311-linux-x64.tar.gz [^3] export JAVA_HOME=/path/to/jdk [^4] export PATH=$JAVA_HOME/bin:$PATH ``` 如果涉及 C# 的 .NET 项目,则可以通过下载官方提供的包来完成初始化配置: ```bash wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb [^2] sudo dpkg -i packages-microsoft-prod.deb sudo apt-get update && sudo apt-get install -y aspnetcore-runtime-6.0 ``` --- #### Spring Boot 项目的具体部署过程 以下是基于 Spring Boot 项目的典型部署流程: ##### 1. 构建可执行 JAR 文件 在本地开发环境中构建一个可运行的 JAR 文件。此步骤可以在 IDE 中完成,也可以通过 Maven 或 Gradle 实现。 ```bash mvn clean package -DskipTests=true [^5] ``` ##### 2. 将 JAR 文件传输至服务器 利用工具如 `scp` 或 FTP 客户端将生成的 JAR 文件上传到远程 Linux 服务器。 ```bash scp target/my-springboot-app.jar user@remote-server:/home/user/applications/ ``` ##### 3. 启动应用程序 登录到目标服务器并通过命令启动应用: ```bash java -jar my-springboot-app.jar ``` 为了实现后台运行并将日志记录保存下来,推荐如下方法: ```bash nohup java -jar my-springboot-app.jar > app.log 2>&1 & ``` ##### 4. 配置防火墙规则 确认服务器上的防火墙允许外部流量到达指定的应用程序端口(默认可能是 8080)。可通过以下命令开放特定端口: ```bash sudo ufw allow 8080/tcp ``` ##### 5. 测试访问 尝试从浏览器或其他客户端测试 URL 是否能够正常响应请求。假设服务监听的是标准 HTTP 协议下的 8080 端口,那么完整的地址应类似于 http://<server-ip>:8080/. ##### 6. 停止正在运行的服务 当需要停止当前实例时,先找到对应的 PID 号码再终止它: ```bash ps aux | grep my-springboot-app.jar kill -9 <PID> ``` --- #### 自动化部署方案 除了手动操作外,还可以借助 Shell 脚本来简化整个发布环节。比如创建这样一个简单的脚本用于拉取最新版本代码、重新编译打包并重启服务: ```bash #!/bin/bash cd /var/www/project-repo || exit git pull origin main mvn clean package -DskipTests=true pm2 restart ecosystem.config.js --env production ``` 注意这里还引入了一个额外的过程控制工具 PM2 来帮助更高效地管理 NodeJS 和其他类型的长期运行任务。 --- #### 数据库连接处理 针对数据库部分,考虑到实际生产场景中的复杂性,有时会遇到因硬件资源不足而无法直接支持大型关系型数据库的情况。此时可以选择采用内网穿透技术使得远端机器可以直接调用本地计算机上的 MySQL 实例作为数据存储解决方案之一。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值