当前位置: 首页 > news >正文

nginx使用默认端口80作为服务端口

背景:http默认端口是80,配置nignx.conf,希望服务url直接输入ip不用输入端口

给server配置80以及加default_server ,老是报错,后面发现是因为 include /etc/nginx/sites-enabled/*; 这个配置的server段占用了80

解决办法:把默认配置/etc/nginx/sites-available/default 里的server段注释掉

 

在 Nginx 的配置体系中,/etc/nginx/sites-available/和 /etc/nginx/sites-enabled/是两个关键目录,用于管理虚拟主机(站点)配置。它们的用途和区别如下:​​1. /etc/nginx/sites-available/​​
​​作用​​:存储 ​​所有可用的站点配置文件​​(如 example.com.conf、default)。​​特点​​:这里是存放配置文件的“仓库”,​​文件本身不会自动生效​​。可以在此目录中创建、编辑或备份配置,但需手动启用才会被 Nginx 加载。​​示例​​:/etc/nginx/sites-available/
├── default          # 默认站点配置
├── example.com.conf # 自定义站点配置
└── backup.conf      # 备份配置(未启用)
​​2. /etc/nginx/sites-enabled/​​
​​作用​​:存储 ​​当前已启用的站点配置​​(通过符号链接指向 sites-available中的文件)。​​特点​​:只有此目录中的配置才会被 Nginx 实际加载。文件通常是 sites-available中配置的 ​​符号链接​​(软链接)。​​示例​​:/etc/nginx/sites-enabled/
├── default -> /etc/nginx/sites-available/default          # 已启用的默认配置
└── example.com.conf -> /etc/nginx/sites-available/example.com.conf # 已启用的自定义配置
​​3. 两个目录的协作关系​​
​​启用站点​​:将 sites-available中的配置链接到 sites-enabled:sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/
​​禁用站点​​:删除 sites-enabled中的符号链接(​​不删除原始文件​​):sudo rm /etc/nginx/sites-enabled/example.com.conf
​​查看已启用的站点​​:ls -l /etc/nginx/sites-enabled/
​​4. 为什么这样设计?​​
​​安全性​​:直接修改 sites-enabled可能导致误删配置。sites-available保留原始文件,方便恢复或调试。​​灵活性​​:快速启用/禁用站点(如临时关闭维护页面)。​​版本控制​​:可在 sites-available中保留多个版本的配置,按需切换。​​5. Nginx 如何加载这些配置?​​
Nginx 主配置文件(/etc/nginx/nginx.conf)中通常包含以下指令,自动加载 sites-enabled中的配置:http {include /etc/nginx/sites-enabled/*;  # 加载所有已启用的站点
}
​​6. 最佳实践​​
​​新增站点​​:在 sites-available中创建配置:sudo nano /etc/nginx/sites-available/example.com.conf
创建符号链接启用:sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/
测试并重载:sudo nginx -t && sudo systemctl reload nginx
​​禁用站点​​:sudo rm /etc/nginx/sites-enabled/example.com.conf
sudo systemctl reload nginx
​​7. 常见问题​​
​​Q1: 可以直接在 sites-enabled中编辑文件吗?​​
​​不推荐​​!因为它们是符号链接,直接修改会改变原始文件(sites-available中的内容)。建议始终编辑 sites-available中的文件。​​Q2: 如果删除了 sites-available中的文件会怎样?​​
sites-enabled中的符号链接将失效(变成“悬空链接”),Nginx 会报错。恢复方法:sudo cp /backup/example.com.conf /etc/nginx/sites-available/  # 从备份恢复
sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/
​​Q3: 能否自定义这两个目录的路径?​​
可以!需修改 Nginx 主配置文件中的 include指令路径,但一般不建议更改。​​总结​​
目录用途操作命令示例sites-available/存储所有可用配置(不自动生效)sudo nano /etc/nginx/sites-available/example.confsites-enabled/存储已启用的配置(符号链接)sudo ln -s ../sites-available/example.conf​​协作关系​​通过符号链接管理启用/禁用sudo rm /etc/nginx/sites-enabled/example.conf通过这种设计,Nginx 实现了灵活的站点管理,避免直接操作生效配置的风险。

 

http://www.wxhsa.cn/company.asp?id=4066

相关文章:

  • 机器学习和推荐算法顶级会议和期刊
  • java使用mysql
  • 2025年医疗行业API安全最佳实践与深度案例分析:从理论到全面落地
  • 2026 NOI 做题记录(二)
  • lc1027-最长等差数列
  • 13
  • np.zeros函数
  • Langchain之让LLM拥有记忆
  • 25.9.14
  • .net PublishSingleFile 打包程序提取
  • 实用指南:Java类加载机制
  • C 语言注释
  • 扫描线
  • C语言中的查找与排序算法整理
  • k8s练习
  • css-2
  • AtCoder Beginner Contest 423 ABCDEF 题目解析
  • numpy中的shape属性
  • mac 查看fat32磁盘
  • 使用Smart-Doc为Java项目生成gRPC API文档
  • 数字时钟用的什么字体
  • Python数据分析零基础完整课程大纲(详细版)【202509第1版】 - 指南
  • 详细介绍:uni-app 根据用户不同身份显示不同的tabBar
  • VSTO QQ群 61840693 解散通知【新群193203228 】
  • kettle从入门到精通 第107课 ETL之kettle json_input 一个点号引发的血案
  • 【2024-2025第二学期】助教工作学期总结
  • Clion 实现多个 main 函数执行互不影响
  • 腾讯终于对Claude code下手了?我拿它跑完一个真实项目,结果有点意外…
  • 快速利用AI读论文
  • 第一周预习作业(AI)