linux 部署项目会遇到的一些问题

本文介绍了Ubuntu系统中的一些实用配置方法,包括修改系统语言、解决Tab键问题、配置全局代理、查找应用程序端口号、修复安装依赖等。此外还提供了一些vim编辑器使用技巧和软件安装过程中的常见错误解决方案。

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

1.修改系统语言

sudo nano /etc/default/locale
LANG=”en_US.UTF-8”
LANGUAGE=”en_US:en”

reboot

如果系统没有装en_US:en,运行:
sudo locale-gen en_US.UTF-8

2.不能使用tab键

vi /etc/passwd
找到该用户,修改其shell为bash
ps:bash完全兼容Bourne shell

3.修改全局代理:

从 /etc/apt/apt.conf 中找到代理地址
sudo vi ~/.bashrc,添加:
http_proxy=http://用户名:密码@代理地址:代理端口
https_proxy=http://用户名:密码@代理地址:代理端口
export http_proxy
export https_proxy
保存,source ~/.bashrc
参考链接,文章排版较乱: http://blog.sina.com.cn/s/blog_43a59c7a0102whsa.html

4.查看应用程序的端口号

查看进程pid: ps -ef |grep 进程名
通过pid查看进程端口:netstat -nap |grep pid

5.ubuntu apt.conf路径:

/etc/default/apt/apt.conf 好像是这个

6. 修复安装依赖

sudo apt-get install

7.vim 重做

vim ctrl + r 重做

8.安装fluent-bit

cmake错误1:
The C compiler identification is unknown
原因是gcc没有装
错误2.
The CXX compiler identification is unknown
原因是c++没有装,linux的c++ 名字叫 yum install gcc-c++ libstdc++-devel
然而ubuntu 的c++就叫 c++

### 如何在 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、付费专栏及课程。

余额充值