插件窝 干货文章 配置Linux系统以支持RESTful API开发

配置Linux系统以支持RESTful API开发

sudo install Ubuntu bash 100    来源:    2025-04-16

Linux系统配置以支持RESTful API开发指南

1. 系统准备

1.1 更新系统

sudo apt update && sudo apt upgrade -y  # Ubuntu/Debian
sudo yum update -y                      # CentOS/RHEL

1.2 安装基本开发工具

sudo apt install -y build-essential git curl wget  # Ubuntu/Debian
sudo yum groupinstall -y "Development Tools"       # CentOS/RHEL

2. 安装和配置Web服务器

2.1 Nginx (推荐)

# Ubuntu/Debian
sudo apt install -y nginx
sudo systemctl start nginx
sudo systemctl enable nginx

# CentOS/RHEL
sudo yum install -y epel-release
sudo yum install -y nginx
sudo systemctl start nginx
sudo systemctl enable nginx

2.2 Apache (可选)

# Ubuntu/Debian
sudo apt install -y apache2

# CentOS/RHEL
sudo yum install -y httpd

3. 安装编程语言环境

3.1 Node.js (JavaScript)

# 使用NodeSource仓库安装最新LTS版本
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt install -y nodejs

# 验证安装
node -v
npm -v

3.2 Python

sudo apt install -y python3 python3-pip python3-venv  # Ubuntu/Debian
sudo yum install -y python3 python3-pip               # CentOS/RHEL

# 安装常用框架
pip3 install flask django fastapi

3.3 Java (可选)

# OpenJDK
sudo apt install -y openjdk-11-jdk  # Ubuntu/Debian
sudo yum install -y java-11-openjdk # CentOS/RHEL

4. 数据库安装

4.1 PostgreSQL

# Ubuntu/Debian
sudo apt install -y postgresql postgresql-contrib

# CentOS/RHEL
sudo yum install -y postgresql-server postgresql-contrib
sudo postgresql-setup --initdb
sudo systemctl start postgresql
sudo systemctl enable postgresql

4.2 MySQL/MariaDB

# Ubuntu/Debian
sudo apt install -y mariadb-server

# CentOS/RHEL
sudo yum install -y mariadb-server
sudo systemctl start mariadb
sudo systemctl enable mariadb

5. 安装和配置API开发工具

5.1 Postman (API测试)

# 下载并安装Postman
wget https://dl.pstmn.io/download/latest/linux64 -O postman.tar.gz
sudo tar -xzf postman.tar.gz -C /opt
rm postman.tar.gz
sudo ln -s /opt/Postman/Postman /usr/bin/postman

# 创建桌面快捷方式
echo '[Desktop Entry]
Name=Postman
GenericName=API Client
Exec=/opt/Postman/Postman
Terminal=false
Icon=/opt/Postman/app/resources/app/assets/icon.png
Type=Application
Categories=Development;' | sudo tee /usr/share/applications/postman.desktop

5.2 cURL (命令行API测试)

# 通常已预装,如果没有:
sudo apt install -y curl  # Ubuntu/Debian
sudo yum install -y curl  # CentOS/RHEL

6. 安全配置

6.1 防火墙设置

# Ubuntu/Debian (UFW)
sudo apt install -y ufw
sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https
sudo ufw enable

# CentOS/RHEL (Firewalld)
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

6.2 安装和配置SSL证书 (Let's Encrypt)

# 安装Certbot
sudo apt install -y certbot python3-certbot-nginx  # Ubuntu/Debian
sudo yum install -y certbot python3-certbot-nginx  # CentOS/RHEL

# 获取证书 (替换yourdomain.com)
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com

7. 开发环境优化

7.1 安装Docker (容器化开发)

# Ubuntu/Debian
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt update
sudo apt install -y docker-ce

# CentOS/RHEL
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install -y docker-ce
sudo systemctl start docker
sudo systemctl enable docker

7.2 安装VS Code (可选)

# Ubuntu/Debian
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
sudo install -o root -g root -m 644 packages.microsoft.gpg /usr/share/keyrings/
sudo sh -c 'echo "deb [arch=amd64 signed-by=/usr/share/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list'
sudo apt update
sudo apt install -y code

# CentOS/RHEL
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
sudo sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo'
sudo yum install -y code

8. 示例API项目设置

8.1 使用Node.js和Express创建简单API

mkdir myapi && cd myapi
npm init -y
npm install express body-parser cors

创建index.js文件:

const express = require('express');
const bodyParser = require('body-parser');
const cors = require('cors');

const app = express();
const PORT = 3000;

app.use(cors());
app.use(bodyParser.json());

app.get('/api', (req, res) => {
    res.json({ message: 'Hello from RESTful API!' });
});

app.listen(PORT, () => {
    console.log(`Server running on http://localhost:${PORT}`);
});

启动服务器:

node index.js

9. 部署配置

9.1 使用PM2管理Node.js应用

sudo npm install -g pm2
pm2 start index.js
pm2 save
pm2 startup

9.2 Nginx反向代理配置

编辑/etc/nginx/sites-available/yourdomain.com (Ubuntu) 或 /etc/nginx/conf.d/yourdomain.conf (CentOS):

server {
    listen 80;
    server_name yourdomain.com;

    location / {
        proxy_pass http://localhost:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

重新加载Nginx:

sudo nginx -t && sudo systemctl reload nginx

10. 监控和日志

10.1 安装和配置Logrotate

sudo apt install -y logrotate  # Ubuntu/Debian
sudo yum install -y logrotate  # CentOS/RHEL

10.2 使用htop监控系统资源

sudo apt install -y htop  # Ubuntu/Debian
sudo yum install -y htop  # CentOS/RHEL

完成以上配置后,您的Linux系统就已经准备好进行RESTful API开发了。根据您的具体需求,可以选择适合的编程语言和框架进行开发。