← 返回首页

Linux服务器部署完全指南

在现代Web开发中,将应用程序部署到Linux服务器是一项基本技能。本文将带你从零开始,学习如何在Linux服务器上部署Web应用。

服务器准备

在开始部署之前,我们需要准备好服务器环境:

  1. 选择合适的云服务提供商(如阿里云、腾讯云、AWS等)
  2. 选择适当的服务器配置(CPU、内存、存储空间)
  3. 安装Linux发行版(推荐Ubuntu或CentOS)
  4. 配置SSH密钥认证以提高安全性

基础环境配置

连接到服务器后,首先进行基础环境配置:

# 更新系统包
sudo apt update && sudo apt upgrade -y

# 安装常用工具
sudo apt install -y curl wget git vim nginx

# 创建非root用户(以提高安全性)
sudo adduser deploy
sudo usermod -aG sudo deploy

# 配置防火墙
sudo ufw enable
sudo ufw allow ssh
sudo ufw allow 'Nginx Full'

Nginx配置

Nginx是一个高性能的HTTP和反向代理服务器:

# 创建站点配置文件
sudo nano /etc/nginx/sites-available/myapp

# 配置内容示例:
server {
    listen 80;
    server_name your_domain.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;
    }
}

# 启用站点
sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

Node.js应用部署

如果你部署的是Node.js应用,可以使用PM2进行进程管理:

# 安装Node.js
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt install -y nodejs

# 安装PM2
sudo npm install -g pm2

# 启动应用
pm2 start app.js --name "myapp"
pm2 startup
pm2 save

SSL证书配置

使用Let's Encrypt免费获取SSL证书:

# 安装Certbot
sudo apt install certbot python3-certbot-nginx

# 获取并安装SSL证书
sudo certbot --nginx -d your_domain.com

# 自动续期
sudo crontab -e
# 添加以下行:
0 12 * * * /usr/bin/certbot renew --quiet

安全加固

为了提高服务器安全性,建议采取以下措施:

监控和日志

建立完善的监控和日志系统:

遵循以上步骤,你可以成功地将Web应用部署到Linux服务器上,并确保其稳定运行。