晨旭的博客
你想干什么!
晨旭的博客~
记校园网代理中转网站的搭建过程

学校的教务系统从16年开始便只能用校内网或者是宿舍的移动网打开登陆,去年的时候我用树莓搭建了一个中转(毕竟树莓闲置着的,另外科创连的是校内网)

当时采用的是nginx+Glype当作服务端,采用的是花生壳提供的内网穿透服务,不过说实话花生壳提供的免费服务确实不咋地,后来我用了natapp.cn提供的ngrok内网转发,五块钱一个月那个。现在采用的是ngrok.cc提供的免费ngrok服务,网站总体所需流量不大,所以用这个的话效果也还可以。

下面我简单讲一下搭建的流程吧,主要就是两点:搭建nginx+php和运行ngrok服务

我在这里用的是树莓派2B,系统镜像是2015-01-31-raspbian

首先把所有该初始化的东西搞完,我们就可以开始装nginx+php了

首先安装nginx:

sudo apt-get install nginx

启动nginx:

sudo /etc/init.d/nginx start

接下来修改配置文件:

sudo nano /etc/nginx/sites-available/default

在“listen 80”那个大括号里,把“index index.html index.htm”后面加上“index.php”:

listen 80;
root /usr/share/nginx/www;
index index.html index.htm index.php;

然后找到php那一段,改成下面这样:

location ~ .php$ {
 fastcgi_pass unix:/var/run/php5-fpm.sock;
 fastcgi_index index.php;
 include fastcgi_params;
}

改完配置文件之后,保存关闭

安装php和必要组件:

sudo apt-get install php5-fpm php5-sqlite

重启nginx:

sudo /etc/init.d/nginx reload

到这里的话,nginx服务器搭建过程基本上都是抄的“树莓派开发系列教程7——树莓派做web服务器(nginx、Apache)”这篇文章里的东西,但是到后面你会发现Glype无法运行,原因其实就是php里的curl组件没装上,所以我们还需要执行以下命令:

sudo apt-get install php5-curl

你要是不嫌麻烦可以把所有需要的组件都装上:

apt-get install php5-mysql php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl

至此,nginx+php服务器搭建完毕,接下来只要把Glype扔到/usr/share/nginx/www里就能正常运行了,当然我改了好多东西

接下来解决外网访问的问题,我就解释一下ngrok的用法

其实用法很简单(如果你不想自己搭建服务器的话)

用ngrok.cc提供的服务举例:

首先到后台开通一个隧道,隧道协议选择“http”、本地端口写你前面设置的端口(前面配置文件里写的是80)“127.0.0.1:80”其他的按照自己的需求来写就行

然后下载官网提供的软件,树莓的话要选linux arm版,

下载之后先给777权限:

sudo chmod 777 xxxx#文件名

然后按教程运行就行了:

./sunny clientid xxxxxxxxxxxxxx

这样的话其实整个代理已经搭建完了,但是有一个重要的问题没有解决:这个服务一但遇到了停电或者是网络不稳定的情况之后,必须手动重启才可以,这样的话就会变得相当棘手。想象一下,你寒假回家了,但是服务器挂了,你找谁给你开启服务啊

所以我加了两个自动检测的脚本

一个是一分钟运行一次的“autorun.sh”,可以保证ngrok服务一直处于开启状态:

#!/bin/sh
ps -fe|grep sunny |grep -v grep
if [ $? -ne 0 ]
then
echo "start process....."
screen -dm nohup sudo /home/pi/sunny clientid xxxxxxxxxxxxxxxx &
else
echo "runing....."
fi

另一个是十分钟运行一次的“check.sh”,用于保证网站可访问,当打不开时会自动重启软件:

#!/bin/sh
result=`curl http://wfkj.papapoi.com/check.php -s`
if [ $result == "ok" ];then
echo "ok"
else
sudo killall sunny
screen -dm nohup sudo /home/pi/sunny clientid xxxxxxxxxxxxxxxx &
fi

最后打开定时任务列表:

crontab -e

加上这俩货:

* * * * * /home/pi/autorun.sh &
*/10 * * * * sudo sh /home/pi/check.sh &

大功告成!

最后把做好的网址发在这里:http://wfkj.papapoi.com/

从此,随时随地都可以让大家感受到挂科的喜悦了(雾

赞赏
如非特殊说明,本站所有文章均采用知识共享 署名-非商业性使用-相同方式共享4.0国际许可协议(CC BY-NC-SA 4.0)进行许可。

发表评论

textsms
account_circle
email

  • https://secure.gravatar.com/avatar/1d63bb2f35266fc9bb58d4b17348bebd?s=80&d=mm&r=x
    Google Chrome 50.0.2661.102 Google Chrome 50.0.2661.102 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36

    多说要废了,赶紧换了吧!

    2年前回复
    • https://secure.gravatar.com/avatar/b431bf781498d1fe47f732913dce394c?s=80&d=mm&r=x
      晨旭博主
      Google Chrome 59.0.3047.4 Google Chrome 59.0.3047.4 Windows 10 x64 Edition Windows 10 x64 Edition
      Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3047.4 Safari/537.36

      早着呢,急什么

      2年前回复
  • https://secure.gravatar.com/avatar/78e3c69d089b28a340dd138ef73fd728?s=80&d=mm&r=x
    Firefox 58.0 Firefox 58.0 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:58.0) Gecko/20100101 Firefox/58.0

    说好的挖矿占用60%?为毛我一打开Firefox直接飙到90%去……

    10月前回复
    • https://secure.gravatar.com/avatar/b431bf781498d1fe47f732913dce394c?s=80&d=mm&r=x
      晨旭博主
      Vivaldi 1.95.1072.3 Vivaldi 1.95.1072.3 Windows 7 x64 Edition Windows 7 x64 Edition
      Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.86 Safari/537.36 Vivaldi/1.95.1072.3

      可能是网页本身的特效就占用了30%吧,哈哈蛤蛤蛤蛤蛤

      10月前回复

晨旭的博客~

记校园网代理中转网站的搭建过程
学校的教务系统从16年开始便只能用校内网或者是宿舍的移动网打开登陆,去年的时候我用树莓搭建了一个中转(毕竟树莓闲置着的,另外科创连的是校内网)当时采用的是nginx+Glype当作服务端…
扫描二维码继续阅读
2017-01-05