美文网首页利器集合每天写1000字@IT·互联网
本地搭建外网可访问的WEB服务器

本地搭建外网可访问的WEB服务器

作者: 塔莉亚传奇 | 来源:发表于2016-06-20 15:16 被阅读10146次

    本文除以下用户谢绝观看:

    1.网站爱好者——喜欢自己搭建网站,如wordpress、织梦等
    2.产品经理(Axure使用者)——不满足于将文件上传到官网服务器,想设置自动适配手机或PC网站。
    3.屌丝html小学生,不想花钱又想学习html相关技术。
    4.网络全能达人,希望通过自己电脑搭建文件备份服务器的人员。

    我要实现:

    1.搭建DDNS动态域名解析,外网直接输入网址和进入本地电脑。
    2.本地搭建Apache+mysql+php web服务器环境。
    3.本地搭建wordpress网站,输入固定域名可直接访问。
    4.本地搭建FTP服务器,在外网随时访问修改本地电脑文件。

    准备1:搭建本地wamp web服务器

    网站服务器有很多种类型,目前主流的是Apache+mysql+php,当然,服务器搭建在linux系统里是最稳定的,然后对于初学者或不是用于商业目的的人,在Windows中搭建是非常实用的。
    国外有很多集成了Apache+mysql+php的环境,例如wamp、xampp等,这里我推荐使用xampp,这些环境大同小异,对于个人使用者已经足够了。
    安装xampp
    xampp集成了很多功能,我们只需要安装自己需要的就可以了。由于我需要数据库和文件传输,我只安装了apache+mysql+php+phpmyadmin。

    安装后启动Apache和mysql服务,在浏览器输入127.0.0.1查看安装状态并进行相关初始化设置(百度有的是,不再累赘)。

    准备2:DDNS动态域名解析

    如果只能本地访问,那一切都是没有意义的,所有我们需要DDNS动态域名解析,经常关注网络的人应该很熟悉这个名称,在中国,IP地址是十分匮乏的资源,所以运营商给我们家里安装的宽带都是动态IP,隔几天就会自动改变。那么我们怎么才能通过IP找到本地计算机呢,这里就需要DDNS了。
    DDNS在大部分路由器里面都有集成,只要我们进行了设置,不管什么时候,输入申请好的域名,就可以直接访问到我们的计算机了。我在这里使用的是花生壳域名,首先我们注册花生壳官网账号,然后点击域名管理申请一个免费域名。之后进入自己的路由器管理页面,找到类似动态DNS(DDNS)的字段,然后输入我们的花生壳账号即可。OK,此时这个域名就已经实时解析到我们的路由器了,那么怎么才能进入我们的电脑呢?

    准备3:端口映射

    我们平时浏览网站的端口是80,FTP传输的端口是21,mysql的端口是3306,所有如果我们想在外网中直接使用本地计算机的服务,那么就要在浏览器里面将这些端口指向到本地计算机的局域网IP地址中。如果路由器支持DMZ服务,那么直接启用即可。


    DMZ会将所有关于这个外网IP的端口都指向到本地计算机上。

    wordpress搭建

    不用我说,官网就有教程,百度有的是好吧。
    搭建完之后,用其他电脑输入之前设置的固定域名,OK,你成功了。


    Axure自适应各种终端

    用过Axure的人一定有这个体会,当我们上传一个手机端效果页面时,有很多人是通过PC访问的,然后呢?各种错位和失真,非常不爽。但是上传官网时,我们有无法修改网页源码,所以只能安卓一个链接、ios一个链接、PC一个链接,十分麻烦。
    如果自己有服务器呢?那就十分好办了,将我们的页面导出成html,然后修改根目录的index.php文件,将文件代码设置成自动检测访问设备:如果是安卓设备,自动跳转到安卓手机页面;如果是iphone设备,自动跳转到iphone页面;如果是ipad设备,自动跳转到ipad页面。相信,如此修改后,客户再也不会看到失真的页面了。

    <script type="text/javascript">
                var checkiphone=0;
                var browser = {
        versions: function () {
            var u = navigator.userAgent, app = navigator.appVersion;
            return {         //移动终端浏览器版本信息
                trident: u.indexOf('Trident') > -1, //IE内核
                presto: u.indexOf('Presto') > -1, //opera内核
                webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核
                gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核
                mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否为移动终端
                ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
                android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或uc浏览器
                iPhone: u.indexOf('iPhone') > -1, //是否为iPhone或者QQHD浏览器
                iPad: u.indexOf('iPad') > -1, //是否iPad
                webApp: u.indexOf('Safari') == -1, //是否web应该程序,没有头部与底部
                weixin: u.indexOf('MicroMessenger') > -1
            };
        }(),
        language: (navigator.browserLanguage || navigator.language).toLowerCase()
    }
        if (browser.versions.mobile) {//判断是否是移动设备打开。browser代码在下面
            var ua = navigator.userAgent.toLowerCase();//获取判断用的对象
             window.location.href = "login_phone.html"; 
        }else{
                     window.location.href = "login_pc.html";     //是否在PC浏览器打开
                }
            
    </script>
    

    相关文章

      网友评论

      • wdom:看晕了,找了一个开源的Holer,简单设置Access Key就搞定了
        https://github.com/Wisdom-Projects/holer
      • 72fec3c278bd:不是在同一个路由器下可以访问到吗?
        5762dff4612e:找不到虚拟服务器选项怎么办?
        塔莉亚传奇:@零時差的擁有_642f web就是因特网的意思
      • ql2012jz:认真看了一遍
      • 2b998808ddc7:没看内容就知道,我喜欢。PS:作者是帅哥,虽然没我帅
      • efe82b871a15:一直想找这样的教程,尤其是最近开始研究Axure,很高兴看到这样一篇文章。多谢作者的分享,受益匪浅!
        塔莉亚传奇: @泣颜 谢谢支持,可以看看我上一篇关于axure的文章

      本文标题:本地搭建外网可访问的WEB服务器

      本文链接:https://www.haomeiwen.com/subject/odmwdttx.html