Ubuntu配置nginx

  1. 安装 Nginx
bash 复制代码
sudo apt update && sudo apt upgrade -y
sudo apt install nginx -y
sudo systemctl enable --now nginx      # 开机自启并立即启动

  1. 放通防火墙
bash 复制代码
sudo ufw allow 'Nginx Full'            # 80+443 一次开
sudo ufw allow OpenSSH                 # 别把自己锁死
sudo ufw enable && sudo ufw status

  1. 验证默认页
    浏览器访问 http://<服务器公网IP>
    出现 "Welcome to nginx!" 说明安装成功。

  1. 准备自己的页面
    假设本地已打包出 dist 目录(含 index.html)。
bash 复制代码
# 上传到服务器
scp -r dist user@<IP>:/home/user/dist

# 移到标准位置并赋权
sudo mv /home/user/dist /var/www/myapp
sudo chown -R www-data:www-data /var/www/myapp
sudo chmod -R 755 /var/www/myapp

  1. 新建虚拟主机(ServerBlock)
bash 复制代码
sudo nano /etc/nginx/sites-available/myapp

内容(单页应用模板,直接粘):

nginx 复制代码
server {
    listen 80;
    server_name <IP 或域名>;     # 例:115.190.211.218  jf_domain.com

    root /var/www/myapp;         # 指向目标目录
    index index.html;

    location / {
        try_files $uri $uri/ /index.html;   # 前端路由回退
    }

    gzip on;
    gzip_types text/plain text/css application/javascript application/json;
    gzip_vary on;

    access_log /var/log/nginx/myapp.access.log;
    error_log  /var/log/nginx/myapp.error.log;
}

  1. 启用配置 & 去默认
bash 复制代码
sudo ln -sf /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/
sudo unlink /etc/nginx/sites-enabled/default   # 防止冲突
sudo nginx -t                                  # 语法检查
sudo systemctl reload nginx

  1. 本地测试(无域名时)
    Windows/Mac/Linux 客户端
    编辑 C:\Windows\System32\drivers\etc\hosts 或 /etc/hosts:

    115.190.211.218 jf_domain.com

浏览器访问 http://jf_domain.com 即可。


  1. 一键排错 checklist

| 仍欢迎页 | sites-enabled 是否只剩自己的链接 | unlink default & reload |

| 403 | 权限/目录在 /root | chown -R www-data:www-data /var/www/xxx |

| 404 | root 路径拼错或缺 try_files | 核对路径、加 try_files |

| 配置不生效 | sudo nginx -t 报错 | 按提示修正断链/语法 |


  1. 后续可选
  • HTTPS:
    sudo apt install certbot python3-certbot-nginx && sudo certbot --nginx -d 你的域名
  • 开机自启已做,日常重启:
    sudo systemctl restart nginx
  • 看实时日志:
    sudo tail -f /var/log/nginx/myapp.access.log
相关推荐
CrazyMo_5 分钟前
鸿蒙高级——内存专用之linux-reserve-memory 方案简介
linux·运维·服务器
灯澜忆梦24 分钟前
【Linux】#5 | 文件与目录基础操作命令
java·linux·运维
wuminyu1 小时前
stackChunkOop内部结构与GC屏障的配合工作原理剖析
java·linux·c语言·jvm·c++
青衫客361 小时前
从网卡到 Socket:再探 Linux 网络协议栈与 iptables 数据包处理流程
linux·网络·网络协议
承渊政道1 小时前
Linux网络学习【TCP Socket编程实战:connect的断线重连与客户端访问Linux验证】
linux·网络·学习·ubuntu·tcp·socket编程
sunoo-2291 小时前
嵌入式Linux驱动学习笔记(第3-6天):从misc封装、platform总线到设备树、中断与单总线外设实战
linux·arm开发·驱动开发·笔记·单片机·学习
雪落漂泊1 小时前
Linux基础开发工具(一)软件包管理器与Vim编辑器篇
linux·运维·服务器
崽崽..1 小时前
【Linux】网络编程的调试工具以及连接失败的具体排查方法
linux·网络
承渊政道1 小时前
CentOS 7单机部署Elasticsearch 7.17.29:从启动报错、CRUD验证到固定公网地址的完整过程
linux·elasticsearch·centos·内网穿透·cpolar·单机部署
进击的荆棘1 小时前
Linux系统——库的原理与制作之ELF文件的形成与加载的过程(上)
linux·elf·动静态库