最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

CentOS系統(tǒng)下前后端項(xiàng)目部署的操作指南

 更新時(shí)間:2025年07月14日 09:06:52   作者:李少兄  
本文詳細(xì)介紹了CentOS系統(tǒng)下前后端項(xiàng)目部署的全流程,涵蓋系統(tǒng)準(zhǔn)備、環(huán)境配置、服務(wù)管理、日志處理、網(wǎng)絡(luò)診斷、資源監(jiān)控、自動(dòng)化部署及安全加固,提供常見問題的解決方案和操作技巧,需要的朋友可以參考下

一、系統(tǒng)準(zhǔn)備與基礎(chǔ)環(huán)境搭建

1. 系統(tǒng)更新與依賴安裝

# 更新系統(tǒng)軟件包
sudo yum update -y

# 安裝基礎(chǔ)開發(fā)工具
sudo yum groupinstall "Development Tools" -y

# 安裝EPEL倉庫(擴(kuò)展軟件包)
sudo yum install epel-release -y

# 安裝常用工具
sudo yum install -y wget curl unzip net-tools

2. Java環(huán)境配置

# 安裝JDK 1.8
sudo yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel -y

# 驗(yàn)證安裝
java -version
javac -version

3. Docker環(huán)境搭建

# 安裝Docker
sudo yum install docker -y

# 啟動(dòng)Docker服務(wù)
sudo systemctl start docker

# 設(shè)置開機(jī)自啟
sudo systemctl enable docker

# 驗(yàn)證Docker安裝
docker --version
docker run hello-world

# 安裝Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/download/$(curl -s https://api.github.com/repos/docker/compose/releases/latest | grep tag_name | cut -d '"' -f4)/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version

二、后端項(xiàng)目部署(Spring Boot)

1. JAR包上傳與執(zhí)行

# 創(chuàng)建項(xiàng)目目錄
mkdir -p /opt/backend
cd /opt/backend

# 上傳JAR包(使用rz命令)
rz -E  # 需要安裝lrzsz工具:sudo yum install lrzsz -y

# 查看上傳文件
ls -l

# 啟動(dòng)Spring Boot應(yīng)用
nohup java -jar your-project.jar > backend.log 2>&1 &

# 查看進(jìn)程
ps -ef | grep java

# 查看日志
tail -f backend.log
  • nohup:不掛斷運(yùn)行(即使終端關(guān)閉也不停止)。
  • > logs/app.log:標(biāo)準(zhǔn)輸出重定向到日志文件。
  • 2>&1:將標(biāo)準(zhǔn)錯(cuò)誤輸出也重定向到標(biāo)準(zhǔn)輸出。
  • &:后臺運(yùn)行。

2. 使用Systemd管理服務(wù)

# 創(chuàng)建服務(wù)配置文件
sudo vi /etc/systemd/system/backend.service

# 內(nèi)容如下:
[Unit]
Description=Spring Boot Backend Service
After=syslog.target

[Service]
User=root
ExecStart=/usr/bin/java -jar /opt/backend/your-project.jar
SuccessExitStatus=143
Restart=on-failure

[Install]
WantedBy=multi-user.target

# 重新加載服務(wù)配置
sudo systemctl daemon-reload

# 啟動(dòng)服務(wù)
sudo systemctl start backend

# 設(shè)置開機(jī)自啟
sudo systemctl enable backend

# 查看服務(wù)狀態(tài)
sudo systemctl status backend

三、前端項(xiàng)目部署(Vue)

1. Nginx環(huán)境配置

# 安裝Nginx
sudo yum install nginx -y

# 啟動(dòng)Nginx
sudo systemctl start nginx

# 設(shè)置開機(jī)自啟
sudo systemctl enable nginx

# 配置Nginx反向代理
sudo vi /etc/nginx/conf.d/vue.conf

# 示例配置:
server {
    listen 80;
    server_name yourdomain.com;

    location / {
        root /opt/frontend/dist;
        index index.html;
        try_files $uri $uri/ /index.html;
    }

    location /api/ {
        proxy_pass http://localhost:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

# 重新加載Nginx配置
sudo nginx -s reload

2. Vue項(xiàng)目部署流程

# 創(chuàng)建前端目錄
mkdir -p /opt/frontend
cd /opt/frontend

# 上傳dist包(假設(shè)為vue-project-dist.tar.gz)
rz -E

# 解壓dist包
tar -zxvf vue-project-dist.tar.gz -C /opt/frontend/

# 驗(yàn)證解壓結(jié)果
ls -R /opt/frontend/dist/

四、常用Linux命令匯總

1. 目錄操作

# 切換目錄
cd /path/to/directory

# 返回上一級目錄
cd ..

# 返回用戶主目錄
cd ~

# 顯示當(dāng)前目錄路徑
pwd

# 創(chuàng)建多級目錄
mkdir -p /opt/myproject/{bin,conf,logs}

# 刪除空目錄
rmdir /path/to/empty_dir

# 遞歸刪除目錄
rm -rf /path/to/dir

2. 文件操作

# 查看文件內(nèi)容
cat filename.txt
less filename.txt

# 查找文件內(nèi)容
grep "search_text" filename.txt

# 查找文件位置
find / -name filename.txt 2>/dev/null

# 復(fù)制文件/目錄
cp source_file destination_path
cp -r source_dir destination_dir

# 移動(dòng)/重命名文件
mv old_name new_name
mv file.txt /new/path/

# 創(chuàng)建文件
touch newfile.txt

# 編輯文件
vi filename.txt
nano filename.txt

3. 文件備份策略

# 完整備份
rsync -avz --delete /source/ /backup/

# 增量備份
rsync -avz --link-dest=/backup/last/ /source/ /backup/new/

# 分區(qū)鏡像備份
dd if=/dev/sda of=/backup.img bs=4M

# 使用tar備份
tar -cvpzf backup.tar.gz /path/to/backup/

五、Docker容器管理

1. 容器生命周期管理

# 查看運(yùn)行中的容器
docker ps

# 查看所有容器
docker ps -a

# 啟動(dòng)容器
docker start container_name

# 停止容器
docker stop container_name

# 強(qiáng)制停止容器
docker kill container_name

# 刪除容器
docker rm container_name

# 進(jìn)入運(yùn)行中的容器
docker exec -it container_name /bin/bash

# 查看容器日志
docker logs -f container_name

2. 容器運(yùn)行模式

# 交互式容器
docker run -it --name mycontainer centos /bin/bash

# 守護(hù)式容器
docker run -d --name mycontainer nginx

# 指定端口映射
docker run -d -p 8080:80 --name myweb nginx

# 掛載目錄
docker run -v /host/path:/container/path -d --name myapp myimage

# 設(shè)置自啟動(dòng)
docker run --restart=always -d myimage

3. 鏡像管理

# 拉取鏡像
docker pull nginx:latest

# 查看本地鏡像
docker images

# 構(gòu)建鏡像
docker build -t myimage:1.0 .

# 推送鏡像到倉庫
docker push myregistry/myimage:tag

# 刪除鏡像
docker rmi image_id

六、防火墻與端口開放

# 查看防火墻狀態(tài)
sudo firewall-cmd --state

# 開放80端口
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --reload

# 開放多個(gè)端口
sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --permanent --add-port=3000/tcp

# 查看開放端口
sudo firewall-cmd --list-all

七、常見問題排查

1. 日志查看技巧

# 實(shí)時(shí)查看日志
tail -f /var/log/messages

# 查看特定時(shí)間段日志
journalctl --since "2025-07-12 00:00" --until "2025-07-13 12:00"

# 查看Nginx錯(cuò)誤日志
tail -n 50 /var/log/nginx/error.log
  • -n 50 表示從文件末尾開始算起的前 50 行。
  • -f 則是實(shí)時(shí)跟蹤文件更新。

2. 網(wǎng)絡(luò)診斷命令

# 查看端口監(jiān)聽情況
netstat -tuln

# 測試端口連通性
telnet example.com 80

# 查看路由表
route -n

# 網(wǎng)絡(luò)抓包分析
tcpdump -i eth0 port 80 -w capture.pcap

3. 系統(tǒng)資源監(jiān)控

# 查看實(shí)時(shí)系統(tǒng)負(fù)載
top

# 查看內(nèi)存使用情況
free -h

# 查看磁盤空間
df -h

# 查看目錄大小
du -sh /path/to/dir

八、自動(dòng)化部署建議

1. 使用Shell腳本

#!/bin/bash
# 自動(dòng)部署腳本示例
APP_NAME="myapp"
JAR_FILE="/opt/backend/${APP_NAME}.jar"
LOG_FILE="/var/log/${APP_NAME}_deploy.log"

echo "=== 開始部署 ===" >> ${LOG_FILE}
date +"%Y-%m-%d %H:%M:%S" >> ${LOG_FILE}

# 停止舊服務(wù)
if [ -f /var/run/${APP_NAME}.pid ]; then
    kill -9 $(cat /var/run/${APP_NAME}.pid)
fi

# 啟動(dòng)新服務(wù)
nohup java -jar ${JAR_FILE} >> ${LOG_FILE} 2>&1 &
echo $! > /var/run/${APP_NAME}.pid

echo "=== 部署完成 ===" >> ${LOG_FILE}

2. CI/CD集成建議

  • 使用Jenkins/GitLab CI實(shí)現(xiàn)自動(dòng)構(gòu)建
  • 配置Webhook觸發(fā)部署流程
  • 使用Ansible進(jìn)行批量服務(wù)器部署

九、安全加固建議

限制SSH訪問

sudo vi /etc/ssh/sshd_config
# 修改以下配置:
PermitRootLogin no
PasswordAuthentication no
AllowUsers your_username

重啟SSH服務(wù):

sudo systemctl restart sshd

定期更新系統(tǒng)

# 定時(shí)任務(wù)示例(每周日凌晨更新)
sudo crontab -l | { cat; echo "0 0 * * 0 sudo yum update -y"; } | sudo crontab -

設(shè)置文件權(quán)限

# 設(shè)置敏感目錄權(quán)限
chmod 700 /opt/backend
chown -R root:root /opt/backend

第十部分:常見錯(cuò)誤與解決方案

一、Yum 源失效或元數(shù)據(jù)過期問題

1. 問題現(xiàn)象

yum install lrzsz -y
警告:加載 '/etc/yum.repos.d/CentOS-AppStream.repo' 失敗,跳過。
警告:加載 '/etc/yum.repos.d/CentOS-Vault.repo' 失敗,跳過。
上次元數(shù)據(jù)過期檢查:1:14:39 前,執(zhí)行于 2025年07月13日 星期日 16時(shí)31分35秒。

2. 原因分析

  • CentOS 8 官方源已失效(官方已停止維護(hù) CentOS 8)
  • 本地 yum 緩存未更新
  • 網(wǎng)絡(luò)連接異常(無法訪問默認(rèn)鏡像源)

3. 解決方案

步驟 1:備份并替換為阿里云 Vault 源

# 備份原目錄
mv /etc/yum.repos.d /etc/yum.repos.d.bak
mkdir /etc/yum.repos.d

# 下載阿里云 Vault 源(以 CentOS 8.5.2111 為例)
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo

注意:

替換 8.5.2111 為您的實(shí)際系統(tǒng)版本號(通過 cat /etc/redhat-release 查看)

步驟 2:清理緩存并重建元數(shù)據(jù)

yum clean all
rm -rf /var/cache/yum
yum makecache fast

步驟 3:重新安裝軟件包

yum install lrzsz -y

二、Java 環(huán)境配置問題

1. 問題現(xiàn)象

java -version
-bash: java: command not found

2. 原因分析

  • 未正確安裝 JDK
  • 環(huán)境變量未配置

3. 解決方案

步驟 1:安裝 OpenJDK

yum install java-1.8.0-openjdk -y

步驟 2:配置環(huán)境變量

# 查找 Java 路徑
alternatives --config java

# 手動(dòng)添加到 PATH(以實(shí)際路徑為準(zhǔn))
echo 'export PATH=$PATH:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.392.b08-1.el8_6.x86_64/jre/bin' >> ~/.bashrc
source ~/.bashrc

三、Docker 容器啟動(dòng)失敗

1. 問題現(xiàn)象

docker start mycontainer
Error response from daemon: Cannot start container mycontainer: [8] System error: permission denied

2. 原因分析

  • Docker 服務(wù)未運(yùn)行
  • 權(quán)限不足(非 root 用戶)
  • 端口沖突

3. 解決方案

步驟 1:啟動(dòng) Docker 服務(wù)

systemctl start docker

步驟 2:添加用戶到 docker 組

usermod -aG docker $USER
newgrp docker

步驟 3:檢查端口占用

lsof -i :8080  # 替換為目標(biāo)端口
kill -9 <PID>

四、Nginx 配置錯(cuò)誤導(dǎo)致 502 Bad Gateway

1. 問題現(xiàn)象

訪問前端頁面返回 502 Bad Gateway

2. 原因分析

  • Nginx 配置的后端地址錯(cuò)誤
  • 后端服務(wù)未啟動(dòng)
  • 權(quán)限問題(Nginx 無法讀取 dist 文件)

3. 解決方案

步驟 1:檢查 Nginx 配置

nginx -t  # 驗(yàn)證配置文件語法

步驟 2:檢查后端服務(wù)狀態(tài)

systemctl status backend  # 替換為后端服務(wù)名稱

步驟 3:調(diào)整文件權(quán)限

chown -R nginx:nginx /opt/frontend/dist
chmod -R 755 /opt/frontend/dist

五、文件上傳/解壓失敗

1. 問題現(xiàn)象

rz -E
rz: can't open /tmp/rzXXX: Permission denied

2. 原因分析

  • /tmp 目錄權(quán)限不足
  • rz 工具未安裝

3. 解決方案

步驟 1:安裝 lrzsz

yum install lrzsz -y

步驟 2:手動(dòng)上傳文件

# 使用 SCP/SFTP 工具上傳文件到目標(biāo)目錄
scp local_file user@server:/opt/backend/

步驟 3:解壓失敗處理

# 檢查壓縮包完整性
file your-file.tar.gz
tar -tvf your-file.tar.gz  # 查看內(nèi)容

# 強(qiáng)制解壓
tar -xvf your-file.tar.gz --strip-components=1 -C /opt/frontend/dist

六、防火墻阻止服務(wù)訪問

1. 問題現(xiàn)象

無法通過瀏覽器訪問服務(wù)(如 80 端口)

2. 原因分析

  • 防火墻未開放對應(yīng)端口

3. 解決方案

# 開放端口(如 80 和 8080)
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --reload

# 臨時(shí)關(guān)閉防火墻(不推薦)
systemctl stop firewalld

七、其他常見錯(cuò)誤匯總

錯(cuò)誤類型原因解決方案
No such file or directory文件路徑錯(cuò)誤或權(quán)限不足使用 ls -l 驗(yàn)證路徑,chmod 修改權(quán)限
Permission denied權(quán)限不足(需 root 權(quán)限)使用 sudo 或切換到 root 用戶
Address already in use端口被占用使用 lsof -i :<port> 查找并終止占用進(jìn)程
No route to host網(wǎng)絡(luò)不通或防火墻限制檢查 iptables/firewalld 配置,確保服務(wù)器可訪問
OutOfMemoryError內(nèi)存不足導(dǎo)致 Java 程序崩潰調(diào)整 JVM 參數(shù)(如 -Xmx512m),優(yōu)化代碼減少內(nèi)存占用

以上就是CentOS系統(tǒng)下前后端項(xiàng)目部署的操作指南的詳細(xì)內(nèi)容,更多關(guān)于CentOS前后端項(xiàng)目部署的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Linux中如何查詢運(yùn)行文件的全路徑的方法

    Linux中如何查詢運(yùn)行文件的全路徑的方法

    這篇文章主要介紹了Linux中如何查詢運(yùn)行文件的全路徑的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-03-03
  • Ubuntu20.04點(diǎn)擊文件閃退的解決方案

    Ubuntu20.04點(diǎn)擊文件閃退的解決方案

    在Ubuntu系統(tǒng)下,如果點(diǎn)擊文件按鈕導(dǎo)致系統(tǒng)閃退,可以嘗試更新系統(tǒng)和應(yīng)用程序、重置文件管理器、檢查系統(tǒng)日志、檢查系統(tǒng)文件和依賴項(xiàng)、切換到不同的文件管理器以及檢查顯卡驅(qū)動(dòng)等方法來解決問題
    2026-02-02
  • CentOS系統(tǒng)卸載桌面并以shell字符界面啟動(dòng)的操作指南

    CentOS系統(tǒng)卸載桌面并以shell字符界面啟動(dòng)的操作指南

    CentOS是一款廣泛應(yīng)用于服務(wù)器和企業(yè)環(huán)境的Linux發(fā)行版,其穩(wěn)定性和高效性受到廣大用戶的青睞,然而,在一些資源有限或?qū)π阅芤筝^高的場景中,圖形界面可能會占用過多的系統(tǒng)資源,影響整體效率,因此本文將為您講解如何在CentOS系統(tǒng)上卸載桌面并設(shè)置為字符界面啟動(dòng)
    2026-04-04
  • Linux知識點(diǎn)小結(jié)

    Linux知識點(diǎn)小結(jié)

    這篇文章主要為大家分享了Linux知識點(diǎn),幫助大家更加詳細(xì)的學(xué)習(xí)Linux
    2016-01-01
  • 使用 Linux seq 命令生成數(shù)字序列(推薦)

    使用 Linux seq 命令生成數(shù)字序列(推薦)

    seq命令用于以指定增量從首數(shù)開始打印數(shù)字到尾數(shù),即產(chǎn)生從某個(gè)數(shù)到另外一個(gè)數(shù)之間的所有整數(shù),并且可以對整數(shù)的格式、寬度、分割符號進(jìn)行控制。這篇文章主要介紹了使用 Linux seq 命令生成數(shù)字序列,需要的朋友可以參考下
    2020-01-01
  • ubuntu執(zhí)行sudo apt-get update要很久的解決方案

    ubuntu執(zhí)行sudo apt-get update要很久的解決方案

    Ubuntu更新緩慢或報(bào)錯(cuò)因默認(rèn)使用外國鏡像,可通過更換國內(nèi)源(如阿里云、華為云、清華等)或選擇最佳服務(wù)器優(yōu)化,操作包括修改下載源、授權(quán)、重新載入,提升下載速度和穩(wěn)定性
    2025-09-09
  • Linux中搭建coturn服務(wù)器的過程

    Linux中搭建coturn服務(wù)器的過程

    這篇文章主要介紹了Linux中搭建coturn服務(wù)器,首先下載coturn源碼,進(jìn)入到coturn路徑下執(zhí)行相應(yīng)命令,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2023-11-11
  • apache time_wait連接數(shù)太多問題解決方法

    apache time_wait連接數(shù)太多問題解決方法

    這篇文章主要介紹了apache time_wait連接數(shù)太多問題解決方法,本文使用調(diào)整內(nèi)核參數(shù)來解決,需要的朋友可以參考下
    2014-11-11
  • 學(xué)習(xí)在kernel態(tài)下使用NEON對算法進(jìn)行加速的方法

    學(xué)習(xí)在kernel態(tài)下使用NEON對算法進(jìn)行加速的方法

    這篇文章主要介紹了學(xué)習(xí)在kernel態(tài)下使用NEON對算法進(jìn)行加速的方法,一起來學(xué)習(xí)下,大大提高數(shù)據(jù)運(yùn)算的效率。
    2017-11-11
  • Linux下tar解壓錯(cuò)誤:文件損壞與不完整問題的解決方案

    Linux下tar解壓錯(cuò)誤:文件損壞與不完整問題的解決方案

    在日常的 Linux 系統(tǒng)管理中,我們經(jīng)常需要使用 tar 命令來壓縮和解壓文件,然而,有時(shí)在解壓過程中會遇到諸如“文件損壞”或“意外結(jié)束”等錯(cuò)誤提示,本文將詳細(xì)分析這些問題的原因,并提供一套完整的解決方案,需要的朋友可以參考下
    2025-02-02

最新評論

焦作市| 顺平县| 营山县| 婺源县| 福州市| 丰都县| 湘潭县| 明水县| 民乐县| 贡山| 阳西县| 雷波县| 黎川县| 新密市| 柘荣县| 甘孜县| 裕民县| 滨海县| 巴楚县| 泰安市| 浪卡子县| 额尔古纳市| 通道| 来宾市| 松原市| 安溪县| 张家界市| 新化县| 天柱县| 九龙坡区| 阿克苏市| 页游| 宁夏| 张家口市| 辽阳县| 日土县| 攀枝花市| 鲁甸县| 平乐县| 呼图壁县| 定远县|