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

news/2024/12/28 15:33:25/

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

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

1

我们用Tomcat服务器,如果我们的javaweb程序已经部署到了Tomcat服务器,一般我们在本地访问的地址为:localhost:8080/shop1localhost指本机,即127.0.0.18080端口号,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(以你的路由为准),进入路由管理页面,操作如下图:

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

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

我的效果图如下:

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

 

3,

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

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

如下图:

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

 

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

 

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

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

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

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

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

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

祝君好运!


http://www.ppmy.cn/news/402178.html

相关文章

来看看2000元不到的玩具上网本都能干些啥

此本购于一年前&#xff0c;系神舟出品&#xff0c;型号为U20Y&#xff0c;具体配置大家各自拜神&#xff0c;才买的时候装了XP&#xff0c;装上WOW&#xff0c;居然能跑&#xff0c;20帧的样子&#xff0c;后来不打游戏了就换成了UBUNTU的系统2000元不到的玩具本&#xff0c;加…

[笔记]pg常用命令

数据库版本 &#xff1a;9.6.6 注意 &#xff1a;PostgreSQL中的不同类型的权限有SELECT,INSERT,UPDATE,DELETE,TRUNCATE,REFERENCES,TRIGGER,CREATE,CONNECT,TEMPORARY,EXECUTE 和 USAGE。 1. 登录PG数据库 以管理员身份 postgres 登陆&#xff0c;然后通过 #psql -U postg…

面了个00后的测试员,年薪20w问题基本都能回答上,必是刷了不少面试题···

互联网行业竞争是一年比一年严峻&#xff0c;作为测试工程师的我们唯有不停地学习&#xff0c;不断的提升自己才能保证自己的核心竞争力从而拿到更好的薪水&#xff0c;进入心仪的企业&#xff08;阿里、字节、美团、腾讯等大厂.....&#xff09; 所以&#xff0c;大家就迎来了…

火灾发生时如何实时地选择逃生路线

安科瑞虞佳豪 南京大学无菌动物房改造项目&#xff0c;位于位于南京江北新区学府路 12 号。改造面积约为 1100m2&#xff0c;均在原有建筑底层。其中&#xff0c;动物房区域含饲养室 6 间&#xff0c;层高 4.9m。功能实验区域含实验室 4间、手术室 1 间、暂养室 2 间、内外准备…

js常用运算符和表达式

JavaScript常用的运算符和表达式有&#xff1a; 1. 算术运算符 用于执行基本的数学运算&#xff0c;包括加法&#xff08;&#xff09;、减法&#xff08;-&#xff09;、乘法&#xff08;*&#xff09;、除法&#xff08;/&#xff09;、取余&#xff08;%&#xff09;等。 …

在Blender中制作一艘海船

今天瑞云小编给大家带了由作者Menno Snoek的Blender教程&#xff0c;一名自学成才的 3D 艺术家&#xff0c;现在已经使用 Blender 大约 2 年了&#xff0c;接下来跟着云渲染小编看下Express Shipping&#xff08;海船&#xff09;背后的工作流程。 介绍 嘿&#xff01;我叫 M…

ansible中role角色的应用

[rootfoundation50 .ansible]# vim ansible.cfg [rootfoundation50 .ansible]# mkdir /root/.ansible/roles 建立指定的目录 [rootfoundation50 .ansible]# ansible-galaxy list 列出roles [rootfoundation50 .ansible]# cd /root/.ansible/roles/ 进入roles目录 [rootfoundat…

hualinxu ext zbx 1.2:centos8搭建zabbix5.0(手把手 带注解)

目录 一、实验环境 1.1 环境说明 1.2 准备工作(所有) 1.3 所涉及的软件及版本 1.3.1 zabbix体系结构 1.3.2 安装zabbix所需的软件 二、zabbix服务端安装lnmp(dnf) 2.1 安装nignx(dnf) 2.1.1 安装nginx&#xff08;dnf&#xff09; 2.1.2 安装指定版本nginx&#xff…