Nginx

Nginx 相关教程,包括其衍生应用。

📘 Nginx 最简单的站点配置

查看视频:油管 B 站

创建站点目录

假设你的站点已经编译好了,并且文件都会放在以下目录

terminal
# 创建目录
mkdir -p /var/www/digvps/dist

# 配置权限
chown -R www-data:www-data /var/www/digvps

创建配置文件:无 server_name,IP 或任何 Host 都能访问。

terminal
vi /etc/nginx/sites-available/digvps.conf
conf
server {
    listen 80 default_server;
    listen [::]:80 default_server;

    root /var/www/digvps/dist;
    index index.html;

    location / {
        try_files $uri $uri/ /index.html;
    }
}

创建配置文件(可选)

如果服务器打算部署多个站点,则需要指定域名访问。 把 server_name 中的域名替换成你自己的即可。

conf
server {
    listen 80;
    listen [::]:80;
    server_name digvps.com www.digvps.com;

    root /var/www/digvps/dist;
    index index.html;

    location / {
        try_files $uri $uri/ /index.html;
    }
}

启用配置

terminal
sudo ln -s /etc/nginx/sites-available/digvps.conf /etc/nginx/sites-enabled/

检查并重启 Nginx

terminal
sudo nginx -t
sudo systemctl reload nginx

Cloudflare CDN 配置

传送门:开启 CDN

📘 Nginx Proxy Manager 站点反代

Nginx Proxy Manager 是一个基于 Nginx 的开源工具,提供用户友好的 Web 界面,用于轻松管理反向代理、SSL/TLS 证书、域名解析和访问控制等网络配置。

视频教程

请务必结合视频教程食用,因为细节内容都在视频中讲解,本文主要供小伙伴们拷贝代码用途。

查看视频:油管 B站

安装 Docker

屏蔽IPV6(可选)

terminal
# 编辑 sysctl.conf
vim /etc/sysctl.conf

# 以下行以禁用 IPv6
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

# 加载新配置
sysctl -p

设置软件源

terminal
# Uninstall all conflicting packages
 for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

安装 Docker 服务

terminal
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

安装 Nginx Proxy Manager

Docker Compose 配置文件

yml
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      - '80:80'
      - '81:81'
      - '443:443'
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt

运行 Nginx Proxy Manager

terminal
# 启动
docker compose up -d

# 停止
docker compose down

# 查看日志
docker composoe logs -f