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

php+apache+nginx 更换域名

php+apache+nginx 更换域名

    • ✅ 第 1 步:确认到底是谁在监听 80/443
    • ✅ 第 2 步:按监听者修改配置
      • 🔹 场景 A:Apache 直接监听 80/443
      • 🔹 场景 B:Nginx 监听 80/443,反向代理到 Apache
    • ✅ 第 3 步:DNS & 本地 hosts 指向新域名
    • ✅ 小结流程图

入职新公司做全栈开发,上个开发人员没有留下任何文档和源码,本身又不是php开发,领导给了一个需求,那就是更换域名,
“老域名”在 Nginx 里找不到,大概率是 Apache 在 80/443 端口监听,而 Nginx 只是反向代理或根本没用到。
更换域名,只需弄清「谁真正在监听 80/443」并修改对应配置即可。下面给出排查-修改-验证三步法。


✅ 第 1 步:确认到底是谁在监听 80/443

# 1. 看哪个进程占用了 80 或 443
sudo netstat -tlnp | grep ':80\|:443'
# 或(新系统)
sudo ss -tlnp | grep ':80\|:443'

典型输出

tcp   0   0 0.0.0.0:80   0.0.0.0:*   LISTEN   1234/httpd
  • httpd → Apache 在监听
  • nginx → Nginx 在监听

✅ 第 2 步:按监听者修改配置

🔹 场景 A:Apache 直接监听 80/443

(Nginx 只是静态反向代理或根本没用到)

  1. 找到 Apache 虚拟主机文件

    • Ubuntu/Debian:/etc/apache2/sites-enabled/
    • CentOS/RHEL:/etc/httpd/conf.d//etc/httpd/conf/extra/httpd-vhosts.conf
  2. 把旧域名全部替换为新域名

    <VirtualHost *:80>ServerName  new.comServerAlias www.new.comDocumentRoot /home/www/new.com/htdocs
    </VirtualHost>
    
  3. 重载 Apache

    sudo systemctl reload apache2      # Debian/Ubuntu
    sudo systemctl reload httpd        # CentOS/RHEL
    

🔹 场景 B:Nginx 监听 80/443,反向代理到 Apache

  1. 在 Nginx 里找到 server_name 指令

    grep -R "old\.com" /etc/nginx/ /usr/local/nginx/conf/
    

    没结果说明所有 .conf 文件里确实没有;可能:

    • 老配置放在 sites-available没 link 到 sites-enabled
    • 老配置在自定义路径,如 /www/server/nginx/conf/vhost/old.com.conf(宝塔/OneinStack 常见)
  2. 修改或新增 server 块

    server {listen 80;server_name  new.com www.new.com;root /home/www/new.com/htdocs;location ~ \.php$ {fastcgi_pass   unix:/run/php/php7.4-fpm.sock; # 或 127.0.0.1:9000fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;include        fastcgi_params;}
    }
    
  3. 重载 Nginx

    sudo nginx -t && sudo systemctl reload nginx
    

✅ 第 3 步:DNS & 本地 hosts 指向新域名

  1. 域名解析:去 DNS 面板把 A 记录指向服务器 IP。
  2. 本地测试(可选):
    echo "123.123.123.123  new.com www.new.com" | sudo tee -a /etc/hosts
    

✅ 小结流程图

┌──────────────┐
│ 谁是 80/443 监听者?│
└────┬─────────┘│┌───┴────────────┬─────────────────┐│ Apache 监听     │ Nginx 监听       ││ 修 Apache 配置 │ 修 Nginx 配置   ││ reload Apache  │ reload Nginx    │└────────────────┴─────────────────┘

http://www.lryc.cn/news/618906.html

相关文章:

  • 力扣.870优势洗牌解决方法: 下标排序​编辑力扣.942增减字符串匹配最长回文子序列牛客.背包问题(最大体积)力扣.45跳跃游戏II 另一种思考
  • 牛客疑难题(6)
  • Transformer的编码器与解码器模块深度解析及python实现完整案例
  • 树:数据结构中的层次架构
  • 前端基础知识NodeJS系列 - 06( Node 中的 Stream 的理解?应用场景?)
  • 【154页PPT】某大型再生资源集团管控企业数字化转型SAP解决方案(附下载方式)
  • 【从零开始java学习|第三篇】变量与数据类型的关联
  • 扣子空间深度解析
  • Apache 服务器基础配置与虚拟主机部署
  • CentOS 7.9 升级 GLibc 2.34
  • (C++)继承全解析及运用
  • Java 大视界 -- Java 大数据在智能教育学习效果评估指标体系构建与精准评估中的应用(394)
  • 教程 | 用Parasoft SOAtest实现高效CI回归测试
  • Day02——Docker
  • 一体化步进伺服电机在无人机舱门应用中的应用案例
  • 书籍数组中未出现的最小正整数(8)0812
  • 小白挑战一周上架元服务——ArkUI04
  • Ubuntu与Rocky系统安装Java全指南
  • C# 基于halcon的视觉工作流-章29-边缘提取-亚像素
  • 深入理解数据库架构:从原理到实践的完整指南
  • 力扣47:全排列Ⅱ
  • ffmpeg,ffplay, vlc,rtsp-simple-server,推拉流命令使用方法,及测试(二)
  • Linux内核编译ARM架构 linux-6.16
  • 深度贴:前端网络基础及进阶(3)
  • archlinux中VLC无法播放视频的解决办法
  • Linux TC流控实现机制
  • MySQL——MySQL引擎层BufferPool工作过程原理
  • leetcode3258:统计满足K约束的子字符串数量Ⅰ(变长滑动窗口详解)
  • Tricentis Tosca 2025.1 LTS 系统要求
  • Java 中 Set 接口详解:知识点与注意事项