在当今数字化时代,越来越多的企业和个人开发者选择使用云服务器来部署网站、应用程序和服务,Linode 作为一家广受好评的云计算提供商,以其高性能、高性价比和简单易用的控制面板深受用户喜爱,本文将详细介绍如何在 Linode VPS 上搭建 LNMP(Linux + Nginx + MySQL + PHP)环境,并进一步配置 OpenVPN,以实现安全、稳定的远程访问服务。

第一步:准备 Linode 虚拟机
登录 Linode Manager,创建一台新的 Linode 实例,推荐使用 Ubuntu 22.04 LTS 操作系统,因为它稳定且社区支持广泛,分配至少 2GB 内存和 40GB SSD 存储空间,足够运行 LNMP 和 OpenVPN,设置 root 密码或 SSH 密钥登录方式,确保安全性。

第二步:安装 LNMP 环境

  1. 更新系统:

    sudo apt update && sudo apt upgrade -y
  2. 安装 Nginx:

    sudo apt install nginx -y
    sudo systemctl enable nginx
    sudo systemctl start nginx
  3. 安装 MySQL:

    sudo apt install mysql-server -y
    sudo mysql_secure_installation

    按提示设置 root 密码并优化数据库安全。

  4. 安装 PHP 及相关模块(如 PHP-FPM):

    sudo apt install php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip -y
  5. 配置 Nginx 支持 PHP:
    编辑站点配置文件(如 /etc/nginx/sites-available/default),添加以下内容:

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
    }

    测试配置并重启 Nginx:

    sudo nginx -t && sudo systemctl reload nginx

你可以通过浏览器访问 Linode 的公网 IP,看到 PHPinfo 页面,证明 LNMP 环境已成功部署。

第三步:配置 OpenVPN 实现安全远程访问
为了从外部网络安全地管理 Linode,我们使用 OpenVPN 创建一个虚拟私有网络(VPN),这不仅保护了 SSH 登录,还能让多个设备共享一个内网地址段。

  1. 安装 OpenVPN 和 Easy-RSA:

    sudo apt install openvpn easy-rsa -y
  2. 初始化证书颁发机构(CA):

    make-cadir /etc/openvpn/easy-rsa
    cd /etc/openvpn/easy-rsa
    sudo nano vars  # 修改默认参数(如国家、组织)
    ./easyrsa init-pki
    ./easyrsa build-ca nopass
  3. 生成服务器证书和密钥:

    ./easyrsa gen-req server nopass
    ./easyrsa sign-req server server
  4. 生成客户端证书(每个设备一个):

    ./easyrsa gen-req client1 nopass
    ./easyrsa sign-req client client1
  5. 生成 Diffie-Hellman 参数和 TLS 密钥:

    ./easyrsa gen-dh
    openvpn --genkey --secret ta.key
  6. 复制必要文件到 OpenVPN 配置目录:

    sudo cp pki/ca.crt pki/issued/server.crt pki/private/server.key dh.pem ta.key /etc/openvpn/
  7. 创建主配置文件 /etc/openvpn/server.conf如下:

    port 1194
    proto udp
    dev tun
    ca ca.crt
    cert server.crt
    key server.key
    dh dh.pem
    server 10.8.0.0 255.255.255.0
    push "redirect-gateway def1 bypass-dhcp"
    push "dhcp-option DNS 8.8.8.8"
    keepalive 10 120
    comp-lzo
    user nobody
    group nogroup
    persist-key
    persist-tun
    status openvpn-status.log
    verb 3
  8. 启动 OpenVPN 服务:

    sudo systemctl enable openvpn@server
    sudo systemctl start openvpn@server
  9. 开启 IP 转发:
    编辑 /etc/sysctl.conf,取消注释 net.ipv4.ip_forward=1,然后执行:

    sudo sysctl -p
  10. 添加 iptables 规则允许流量转发:

     sudo iptables -A FORWARD -i tun0 -o eth0 -j ACCEPT
     sudo iptables -A FORWARD -i eth0 -o tun0 -m state --state RELATED,ESTABLISHED -j ACCEPT
     sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

你可以在本地电脑上使用 OpenVPN 客户端导入生成的 .ovpn 文件连接到 Linode,从而实现安全远程访问,整个过程无需暴露 SSH 端口(默认 22)在公网,大大提升了安全性。


在 Linode 上搭建 LNMP + OpenVPN 不仅能满足 Web 应用部署需求,还提供了企业级的安全远程访问能力,对于开发者、运维人员或小型团队而言,这是构建私有云基础设施的理想起点,通过合理配置,可进一步集成防火墙、监控工具(如 fail2ban、Prometheus)和自动化脚本,打造更健壮的生产环境。

在 Linode 上搭建 LNMP 环境并配置 OpenVPN 实现安全远程访问的完整指南  第1张

VPN加速器|半仙VPN加速器-免费VPN梯子首选半仙VPN