逗比云还是逃不过被墙的命运,既然如此那以后逗比云也就一直用被墙的旧域名 [softs.wtf] 算了。
投稿文章 | 广告合作 | Telegram 群组 / 公告频道 / 使用教程
广告

使用 宝塔面板(bt.cn) 快速部署 反向代理、镜像、自建CDN

建站资源 Toyo 121评论
广告
本文最后更新于 2018年1月20日 16:09 可能会因为没有更新而失效。如已失效或需要修正,请留言!

前几天的时候,因为网站丢失数据,最后重建网站了,以前一直用的是各种 LNMP 一键包(命令行管理),看别人推荐宝塔面板(网页面板管理),所以我也装了个试试,然后发现还挺好用的,这次就写个 宝塔面板中自带的一键配置反向代理功能,很好用,我的 镜像域名 doubmr.date 就是用这个一键完成的。

反向代理、镜像、CDN从某种程度上来说都是一回事,不过CDN是由大量服务器做反向代理+缓存实现的。

宝塔面板官网:http://www.bt.cn/

安装面板

安装前提

宝塔面板支持:CentOS、Ubuntu、Debian、Fedora 系统。

Python版本: 2.6/2.7(安装宝塔时会自动安装)

内存:128M以上,推荐512M以上(纯面板约占系统10M内存)

硬盘:100M以上可用硬盘空间(纯面板约占20M磁盘空间)

系统:安装宝塔面板前,请务必使用纯净的系统(也就是去重装一下服务器),没有安装过其它环境带的Apache/Nginx/php/MySQL!

面板特色功能:

  1. 一键配置服务器环境(LAMP/LNMP)
  2. 一键安全重启
  3. 一键创建管理网站、ftp、数据库
  4. 一键配置(定期备份、数据导入、伪静态、301、SSL、子目录、反向代理、切换PHP版本)
  5. 一键安装常用PHP扩展(fileinfo、intl、opcache、imap、memcache、apc、redis、ioncube、imagick)
  6. 数据库一键导入导出
  7. 系统监控(CPU、内存、磁盘IO、网络IO)
  8. 防火墙端口放行
  9. SSH开启与关闭及SSH端口更改
  10. 禁PING开启或关闭
  11. 方便高效的文件管理器(上传、下载、压缩、解压、查看、编辑等等)
  12. 计划任务(定期备份、日志切割、shell脚本)
  13. 软件管理(一键安装、卸载、版本切换)

安装步骤

请根据你的系统选择并执行以下命令:

# Centos 安装命令:
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install.sh && sh install.sh

# Ubuntu/Deepin 安装命令:
wget -O install.sh http://download.bt.cn/install/install-ubuntu.sh && sudo bash install.sh

# Debian 安装命令:
wget -O install.sh http://download.bt.cn/install/install-ubuntu.sh && bash install.sh

# Fedora 安装命令:
wget -O install.sh http://download.bt.cn/install/install.sh && bash install.sh

安装过程

以下为执行上面的安装命令后输出的内容:

点击展开 查看更多

配置面板

如果不出意外的情况下,安装面板后,就直接通过最后输出的 面板地址、面板账号、面板密码去登陆。

登陆面板后,会提示你安装网站环境套件,也就是LNMP LAMP 之类的。

注意这里!

当你只打算用宝塔面板做反向代理,不打算做网站的时候,只需要勾选LNMP中的 Nginx 选项,其他的 Mysql、PHP之类的全不需要勾选(当然那个安装方式:极速安装 要勾选),然后直接点击 一键安装 按钮就行了。

如果你想要做反向代理的时候同时做一些其它网站,或者不确定你以后会不会搭建其他网站,那么还是LNMP里面全选好了,然后点击 一键安装 按钮就行了。

关于版本:

Nginx 选择默认的 1.12 就行(目前是这个,一会的以宝塔面板默认版本为准)。

Mysql 数据库的话,如非必要就选择默认的 5.5 就行,如果要选择5.6及以上版本,则需要最少 1GB内存的服务器。

FTP 的话,默认就行。

PHP 这个需要注意,如果你要建网站的话,你要先确定你的网站是否支持 PHP 7.0/7.1/7.2(之一),如果不确定那么就选择 PHP 5.6 ,不过 PHP 7 系列版本相比 5.6 版本要更快更省资源。

phpMyAdmin 这个是数据库的可视化操作面板(和宝塔面板是两回事),如果你安装了 Mysql数据库,那么也建议你安装这个,至于版本默认就行。

当你点击 一键安装 按钮后,就会显示如下消息盒子,里面会看到各组件安装进度,下图是因为我安装这个面板除了写教程以外,一会也可以做点其他的事情,所以我是LNMP组件全都选了。

如果你只选择 Nginx 的话,那么安装就快多了。像我这种全选的,根据服务器网速和性能,我差不多要二三十分钟才能安装完。这还是选的 急速安装,如果是 编译安装,可能要四十多分钟才行。

对了,LNMP组件安装过程中,无法修改 宝塔面板的端口等信息,但是可以修改登录宝塔面板的用户名和密码,只要去宝塔面板侧栏的面板设置里就能看到。

配置反向代理

当你的 Nginx 或者 LNMP 安装完后,我们就可以开始配置反向代理了。

添加站点

点击宝塔面板侧栏 网站 - 添加站点

然后会如下图所示,只需要填写 域名(支持绑定多个域名,一行一个)即可,备注自己看着设置(可选),至于其他的都不用管,直接点击 提交 按钮。

添加站点后,我们就会看到如下图所示,点击站点右边的 设置 选项。

如何配置SSL证书(可选)

如果你要反向代理 https 的网站,那么你也必须配置 SSL证书,而宝塔面板由三种方式配置:宝塔自己的SSL、Let's Encrypt 免费SSL、其他证书(手动填写)。

宝塔SSL:需要注册宝塔的账号,然后去免费领取好像?我没用过不清楚。

Let's Encrypt 免费SSL:在各个免费SSL证书中,最出名的可能就是 Let's Encrypt 了吧,这个每次是签3个月证书,可以无限续签(面板自动),免费域名也能申请。

其他证书:这个就是你自己去其他渠道不管是购买还是找免费的,获取到证书后填写到这里。


如果你要申请 Let's Encrypt 免费SSL ,那么首先你不能使用 CDN,然后需要去域名解析的地方解析域名,IP为当前服务器的IP,然后等一段时间使其解析全球生效,然后就如下图所示,填写一个可以用的邮箱,然后勾选你要申请SSL证书的域名,并点击 申请 按钮,如果不出意外,面板就会自动申请配置成功!

如果你需要强制使用 HTTPS,那么可以 开启 右上角的 强制HTTPS 功能。

配置反向代理

然后就会看到 站点设置窗口,找到侧栏的 反向代理 选项点击后,就如下图所示:

目标URL:你要反向代理的目标网站地址/域名

发送域名:填写你要反向代理的目标网站域名

内容替换:左边填写要替换的内容(目标域名),右边填写要替换为的内容(你的域名)

然后填写情况如下图所示:

按照下图的填写后,就是我访问 http://jc.toyoo.pw 看到的网站内容就是站长工具 超级Ping(http://ping.chinaz.com)的网页内容。

注意:如果你要反向代理 https 的网站,那么你这个域名也必须配置SSL才行,请配置反向代理前先配置好SSL,http 的则无所谓。

另外,建议开启缓存功能(图中忘记勾选了),开启缓存功能后,你访问反向代理的域名,会自动生成缓存,下次在访问就是直接发送缓存给你,就不需要反向代理服务器再去链接源网站获取信息了,可以显著加快速度。另外,默认情况下是缓存文件1个小时后自动到期,所以也不用担心缓存影响内容更新。

反向代理示例 效果如下:

好吧,到这里教程就结束了,宝塔面板我感觉还是挺好用的,大家可以多研究研究,反正都是中文的。

其他问题

打开 phpMyAdmin 提示 502 Bad Gateway 错误

这个错误我也遇到过一次,最后网上找了找,找到了解决方法:

首先进入宝塔面板后台,打开 phpMyAdmin 的设置窗口,选择左边侧栏的 php版本 后,直接再点击一次 保存 按钮即可。

打开 反向代理网站 提示 502 Bad Gateway 错误

反向代理出现这个错误,基本上就是你要反向代理的网站有反镜像措施,或者是挂了CDN。

如果是CDN,那么你要反向代理它就必须知道真实IP,然后在反向代理服务器设置 /etc/hosts 文件,添加相应规则,例如: 1.1.1.1 abc.com


有什么不懂得地方请在下面留言!

转载请超链接注明:逗比根据地 » 使用 宝塔面板(bt.cn) 快速部署 反向代理、镜像、自建CDN
责任声明:本站一切资源仅用作交流学习,请勿用作商业或违法行为!如造成任何后果,本站概不负责!

赞 (171)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(121)个小伙伴在吐槽
  1. 逗比,我按照这个教程在搬瓦工的主机上反向代理doub.io直接502了,怎么搞?
    hjh2018-10-25 20:17 回复
    • 我网站套了CDN,CDN本质上也是反向代理。
      Toyo2018-10-25 20:33 回复
      • 好吧(∩_∩)
        hjh2018-10-27 18:06 回复
  2. 逗比大佬,我配置了之后,可以访问,不过通过代理域名,不能登录源站的用户系统,请问该如何解决?谢谢
    Leo2018-10-10 03:11 回复
    • 不能登陆,提示什么错误?
      Toyo2018-10-10 10:59 回复
  3. 逗逼哥,为什么我试着装了好几次宝塔,ss都无法连接,还有一次主机都开不起来了?重装系统纯净安装同样无果,同为Debian 8 64位。
    Se2018-10-02 04:08 回复
    • 宝塔面板安装后,会配置防火墙,所以你需要在宝塔面板里开放防火墙端口。
      Toyo2018-10-02 12:01 回复
  4. 网站是挂了cloudflare的,反代后提示error 1000 ,如果只修改 HOST 文件,按照博主所提到 的 “ 提示 502 Bad Gateway 错误 ” 的解决方案可以解决吗? 表达能力有点差,盼回复。
    wayn32018-08-31 20:52 回复
    • CDN本身就是反向代理,你无法反向代理CDN,除非你知道这个网站的源IP,然后反代服务器上面 hosts 里把被反代的域名指向源IP,重启 Nginx 后才能正常反向代理。
      Toyo2018-08-31 22:46 回复
      • 感谢回复,尝试了几次已经放弃。 :lol:
        wayn32018-09-02 18:28 回复
  5. 申请SSL,打开强制使用后网站502说重定向次数过多
    小喽啰2018-08-04 16:39 回复
    • 出现这种情况有很多原因可能导致,例如网站程序代码重定向冲突、网站挂了CDN重定向冲突等。
      Toyo2018-08-05 14:27 回复
  6. 在安装过程中提示这个是什么原因?缺少资源? The following extra packages will be installed: sgml-base xml-core Suggested packages: sgml-base-doc debhelper The following NEW packages will be installed: libxml2 sgml-base xml-core 0 upgraded, 3 newly installed, 0 to remove and 66 not upgraded. Need to get 0 B/946 kB of archives. After this operation, 2,127 kB of additional disk space will be used. Media change: please insert the disc labeled 'Debian GNU/Linux 7.0.0 _Wheezy_ - Official amd64 CD Binary-1 20130504-14:44' in the drive '/media/cdrom/' and press enter Media change: please insert the disc labeled 'Debian GNU/Linux 7.0.0 _Wheezy_ - Official amd64 CD Binary-1 20130504-14:44' in the drive '/media/cdrom/' and press enter Media change: please insert the disc labeled 'Debian GNU/Linux 7.0.0 _Wheezy_ - Official amd64 CD Binary-1 20130504-14:44' in the drive '/media/cdrom/' and press enter
    llorando2018-07-30 09:07 回复
  7. 请教个问题,如果一个服务使用非80的特殊端口,比如9090 或 8000等,应该如何通过宝塔面板绑定域名,并且在访问域名时无需在后面加上端口号:9090?这个问题我思考和测试了很久都没解决。如果在宝塔面板绑定域名时简单写成 domain.com:9090,那在绑定后访问也要写端口号,如何才能绑定后不必写端口号呢?盼请指教!先谢了
    Ernest H2018-06-15 13:25 回复
    • 站点域名正常写,不加端口号,站点配置文件里加入以下代码:
              location / {
              proxy_redirect off;
              proxy_pass http://127.0.0.1:9090;
              proxy_http_version 1.1;
              proxy_set_header Upgrade $http_upgrade;
              proxy_set_header Connection "upgrade";
              proxy_set_header Host $http_host;
              }
      
      这个代码加入到 #SSL-END 后面。
      我很长时间没折腾个Nginx了,不保证能用,报错的话请告诉我报错内容。
      Toyo2018-06-16 11:14 回复
      • 前两天在出差,才看到回复。非常感谢!我使用的是apache,不是nginx,这个不能用吧,能否给一个.htaccess的配置? 盼回复。再次感谢。
        Ernest H2018-06-18 07:34 回复
        • 抱歉,我没用过 apache ,自从接触建站以来一直用的是 Nginx 。
          Toyo2018-06-18 08:57 回复
          • 嗯,知道了。实在不行,我就换nginx试下。还是非常感谢!
            Ernest H2018-06-18 09:15 回复
  8. 有个问题, 假设我用http://daili.com代理http://ping.chinaz.com,然后打开http://daili.com,页面是正确的,我再点页面上的其他url,例如如原站点的url是http://ping.chinaz.com/1.html这种的话,代理后的访问的会是http://daili.com/1.html,但是页面会显示404。 不会显示http://ping.chinaz.com/1.html的内容。不知道是不是我设置的问题。
    阿懵2018-06-13 20:40 回复
    • 去站点修改 - 配置文件中,拉到最后,删除以下配置内容:
          location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
          {
              expires      30d;
              access_log off; 
          }
          
          location ~ .*\.(js|css)?$
          {
              expires      12h;
              access_log off; 
          }
      
      如果你没有的话,请告诉我。
      Toyo2018-06-14 10:44 回复
      • 啊,感谢,用了https://doub.io/wlzy-3/里面的方法,成功了。
        阿懵2018-06-14 11:07 回复
  9. 请问Debian第一步安装过程出现pillow installation failed怎么办,VPS已经重装
    Miao2018-05-08 23:17 回复
    • 管理员账户
      idyouzui2018-05-10 20:03 回复
1 2