我们平常学习时经常会写一下javaweb程序,我们为了更能逼近现实,就想着自己的javaweb程序发布后,外网的同学能够访问我们的网站,难道我们去买空间,去买域名嘛,其实也没必要,我们只是学习,测试之用,在自己的电脑上搭建一个服务器完全可以满足要求。上次写的一篇博客,PC服务端与Android客户端实现网络通信,就是利用这个原理。

我们分为三步走来实现:(我这里用的示例javaweb程序是我自己简单写的一个小程序shop1)

1,

我们用Tomcat服务器,如果我们的javaweb程序已经部署到了Tomcat服务器,一般我们在本地访问的地址为:localhost:8080/shop1,localhost指本机,即127.0.0.1,8080端口号,shop1你部署的项目名称,但太过繁琐,我们只想通过IP地址来访问我们的项目,即127.0.0.1或者localhost,我们只需修改一下Tomcat的配置即可,打开Tomcat所在的目录,打开conf文件夹,打开server.xml文件,所要修改的部分如下:


<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Context path="" docBase="shop1" reloadable="true" />

即将port从原先的8080修改成80,因为http协议的默认端口是80,这样你就可以不用再输端口号了,把docBase="shop1"的值修改成你所部属的项目的名称,默认指向你的项目,这样你就可以不输项目的名称了。

还得注意一点Tomcat 7.0的版本的server.xml文件中居然没有

<Context path="" docBase="shop1" reloadable="true" />

这一条,又下载了一个5.0版本的居然有,如果你的没有,复制加进去就可以了。

OK,这样的话,你在浏览器里输入localhost就可以访问你的项目了!

PS:为了下来的工作中不出现什么问题,我并没有将8080端口改成80,据说80端口被电信封掉了,我让用电信上网的同学访问我的网站,果然不行,这里我们明白道理就可以了,只是学习测试之用,所以我们就用8080端口。

 

2,

上一步我们只实现了自己访问,但如何让外网的同学访问,这里可能涉及了简单的网络知识,我网络学的也不是很好。就说的比较通俗一点。有两种情况(1)你上网没有用路由,运营商单独分给你一个IP地址,那你直接可以用你的IP让外网的同学来访问你的网站,我们这里用的是8080端口,所以形式为:XX.XX.XX.XX:8080。为了让多的同学了解,我在啰嗦一下,怎么知道自己的IP地址,你不必用在cmd命令行输入ipconfig这种略显专业的方法去获取,其实只要在百度搜索“IP查询”,第一个就是。

(2)用了路由器,一个路由器带了好几台电脑,比如说跟室友,这就需要你去路由管理页面去设置一下,端口映射,让别人访问你们的IP地址时,映射到你的电脑,在浏览器中输入192.168.1.1(以你的路由为准),进入路由管理页面,操作如下图:

转发规则-----虚拟服务器-------添加新条目

端口我们没改,所以填8080,IP地址为你的电脑在局域网中的地址,怎么样知道自己的局域网中的地址,很简单自己百度一下,只要局域网里的电脑不是太多,一般为192.168.1.XXX,我这里为192.168.1.101,然后点击保存,OK,然后外网就可以用你们IP去访问你的网站了!

我的效果图如下:

这时可以把这个网址发给你的同学,试一下,他能不能访问你的网站,答案是肯定的!

3,

但是又有新问题了,你第二天打开路由,或者再次上网时,运营商会重新分配给你一个新的IP地址,难道你让你同学访问时,再次把这个IP地址发给他吗?显然这是不合理了。

此时,我们就想有一个动态域名多好。这里给大家介绍一款软件“花生壳”,下载安装,然后注册后,你就会获得一个免费的二级域名,每次开机自启后,就会将花生壳服务端中的IP数据更新成你新的IP地址,然后你每次用你固定的域名来访问时,就会解析到你新的IP地址。

如下图:

双击你的域名,看有没有显示出“经检测,您的域名已激活并指向正确”!

OK,到这里,没有路由的同学,就可以直接用你的域名访问了!

有路由的同学,还得多操作一步:

再次进入路由管理页面,操作如下图:

点击“动态DNS”,这时如果你的上述操作都没问题的话,服务提供者那一栏已经自动填充成花生壳的网址了,然后输入用户名,密码,点击登录,如果显示为“连接成功”,那点击“保存”。

到这里,终于大功告成,看一下最终效果图:

可以看到,我用我的域名成功的访问到了我的网站。

PS:有时显示“验证成功”时也是个假象,一点击“保存”时,又显示为“验证失败”,再点击“登录”,多点击几次“保存”,直到它一直显示为“验证成功”即可,反正就是多试几次。

祝君好运!

在自己的电脑上搭建服务器,发布自己的网站(学习之用)相关推荐

  1. 在自己的电脑上搭建服务器,发布自己的网站

    我们平常学习时经常会写一下javaweb程序,我们为了更能逼近现实,就想着自己的javaweb程序发布后,外网的同学能够访问我们的网站,难道我们去买空间,去买域名嘛,其实也没必要,我们只是学习,测试之 ...

  2. 在自己的电脑上搭建服务器(可供对外访问)

    参考 https://blog.csdn.net/pzhtpf/article/details/7704337

  3. 在自己的电脑上搭建一个服务器

    我们平常学习时经常会写一下javaweb程序,我们为了更能逼近现实,就想着自己的javaweb程序发布后,外网的同学能够访问我们的网站,难道我们去买空间,去买域名嘛,其实也没必要,我们只是学习,测试之 ...

  4. 在自己电脑上搭建一个FTP服务器

    在自己电脑上搭建一个FTP服务器 因为项目需要,第一次搭建FTP,也是在博客上找的经验,写这篇博客,主要是想记录一下,留个笔记,以防后面需要. 本文是在不借助工具的情况下在自己电脑上搭建FTP服务器. ...

  5. 手把手教大家在自己的Windows电脑上搭建一个视频电话系统(基于开源项目FreeSwitch+Linphone)

    目前可以做视频电话的流媒体开源项目有很多,那么今天我就手把手教大家(基于FreeSwitch+Linphone)搭建一个免费的开源的能在局域网中使用的视频电话系统,部署与配置都非常的简单,而且点对点的 ...

  6. 使用nat123在个人电脑上搭建服务器(小白详细教程)

    昨天自己在个人电脑上搭建了一个服务器(十分简陋...),也花了不少时间,遇到了一些坑.这里做一个分享,也帮大家避避坑.因为我也是个小白,自己摸索,所以我就尽量写得步骤详尽一点,让大家做起来顺利一些~ ...

  7. 用PHPnow快速在自己的电脑上搭建PHP虚拟主机

    转自:转 用PHPnow快速在自己的电脑上搭建PHP虚拟主机搭建 PHP 其实不很难,只是有点繁琐.要是自己很是费时.更糟的是,很多新手在配置 PHP 时常常出现这样那样的问题.诸如 mysql 扩展 ...

  8. 树莓派Odroid等卡片式电脑上搭建NAS教程系列2-SSH连接访问

    Odroid上Ubuntu系统安装好的话一般是自带SSH功能的. 这里可以看到openssh已经安装好了.如果没有安装的话自行安装便可. 用了SSH功能就可以使用SSH(secure shell)来远 ...

  9. 树莓派Odroid等卡片式电脑上搭建NAS教程系列6-miniDLNA

    目录: 1. 树莓派Odroid等卡片式电脑上搭建NAS教程系列1-Ubuntu系统安装 2. 树莓派Odroid等卡片式电脑上搭建NAS教程系列2-SSH连接访问 3. 树莓派Odroid等卡片式电 ...

最新文章

  1. Libsvm的一些说明帮助吧
  2. wxWidgets:wxWindow类用法
  3. 使用yum查看安装了哪些软件包、某软件包是否已经安装
  4. windowbuilder点击按钮出现新界面_掌握这几招,轻松设计出高点击率的行为召唤按钮...
  5. 阅读react-redux源码(七) - 实现一个react-redux
  6. 【批处理】shift用法举例
  7. 计算机科学中的研究成果,田聪教授团队科研成果在计算机科学顶会LICS 2020发表...
  8. NYOJ41 - 三个数从小到大排序
  9. self.modules() 和 self.children()的区别
  10. IIS 如何用同一IP解析不同域名到同一服务器
  11. [JUC-1]并发包实现及线程状态
  12. 学习笔记47—PhotoShop技巧
  13. Spring Boot-入门
  14. 正阅读微信小说分销系统-视频教程-1.渠道商-公众号配置-基础信息
  15. 软件工程硕士研究生论文撰写事项
  16. 数学建模国赛全过程回顾
  17. (2020.9.28)面试记录:软件测试实习生--面试记录
  18. noip2007 守望者的逃离 (贪心)
  19. axios下载压缩包的处理方式
  20. 「IT行业必会的基本概念原理」计算机网路基本概念

热门文章

  1. matlab三相异步电动机,三相异步电动机仿真
  2. linux的3d软件下载,3d切片软件下载 FlashPrint(3D闪铸切片软件) V4.6.2 linux版 64位 下载-脚本之家...
  3. 第一天 复旦微FM33G048简单入门学习
  4. 基于pygame的兔子吃月饼小游戏
  5. 射频功放学习之ADS版图优化
  6. CCNP 简单交换安全
  7. 特斯拉灯光秀Light Show Creator开发手记(一)
  8. 【ML29】应用机器学习的建议
  9. ncl与linux的关系,研会活动 | 大气院研究生会举办Linux操作系统及NCL知识讲座
  10. Fedora 21下使用金山快盘