我想用本地电脑做一个服务器并开一个80端口,同时能让外网访问(现在用的公司局域网),大神们,这该怎么弄

我想用本地电脑做一个服务器并开一个80端口,同时能让外网访问(现在用的公司局域网),大神们,这该怎么弄,第1张

看你所说的 你们公司应该有个防火墙, 或是类似路由器的东西

你在内网, 要让外界能够存取, 防火墙或是路由器必须打开转址服务

例如你在内网的 ip 是 abcd

那公司的防火墙或是路由器就必须设定, 接到 Port 80 的请求时, 转址到 abcd

引用

因为在做垂直搜索工作中,使用的是java编写的一个搜索类库。做垂直搜索,很多实用要使用到配置。当搜索的信息量大时,网站的更新。搜索程序的配置维护是一个不可忽视的问题。所以用了php做网页,提供配置界面,这样就可以不用直接修改配置文件或是配置数据库表。当把配置信息配置好了,我们需要检测配置是否正确,因为使用的是java程序,所以检测配置的正确与否使用的也是java程序来检测。这里就存在一个问题,就是需要把php页面上的信息传入到java程序中去检测。这个时候就需要php和java通信了。下面我就来介绍下怎么使php跟java通信(当然,你也可以使用类似webservice等技术)也就是php中调用java程序。 php要调用java程序:需要以下准备,php程序,java程序,还有就是shell程序或是bat程序。下面分别介绍下在linux服务器下php调用java程序和在windows服务器下调用java程序。前提是php,apache,jdk的环境都已经配置好。

一 在linux下php调用java程序是通过shell文件。分别是以下三个文件: test_shellphp test_shelljava test_shellsh 他们的源代码如下:

1test_shelljava程序代码

public class test_shell {

public static void main(String[] args) {

Systemoutprintln("你输入的参数是:"+args[0]+"t"+args[1]);

}

}

2test_shellphp程序代码

<php

/

该函数是用来执行shell命令的,其实还可以使用:exec(),system(),

popen()和pclose(),passthru() 函数。最长用的是前面两个和例中使

用的shell_exec()。

/

$args1="我喜欢你";

$args2="我很爱你";

// 注意空格

$r=shell_exec("/test_shellsh $args1 $args2");

echo $r;

>

3test_shellsh程序代码是

#!/bin/sh

JAVA_HOME=/usr/local/jdk

CLASSPATH=:/usr/local/jdk/jre/lib/rtjar:/usr/local/apache/htdocs/test_shell/test_shellclass

PATH=$PATH:$JAVA_HOME/bin

export JAVA_HOME CLASSPATH PATH

cd /usr/local/apache/htdocs/test_shell

java test_shell

#shell代码结束

以下是三个程序的存放路径和运行次序。

1三个文件都必须在同一目录下,比如在/usr/local/apache/htdocs/test_shell/下,不然php很难调到java程序。

2把test_shelljava程序编译成test_shellclass,然后把test_shellclass文件存放到CLASSPATH中。如果系统配置了那些环境变量,这里在配置一次是没有坏处的,也不会影响配置好的系统环境变量。这里设置的好处是当没有配置jdk环境配置,只有jre时,则需把jre放到/usr/local/jdk下就以。

二、下面先介绍在windows服务器下,php调用java程序是通过bat文件来的。分别是以下三个文件: test_batphp test_batjava test_batsh 他们的源代码如下:

1java程序

public class test_bat {

public static void main(String[] args) {

Systemoutprintln("你输入的参数是:"+args[0]+"t"+args[1]);

}

}

2test_batphp程序代码

<php

/

该函数是用来执行shell命令的,其实还可以使用:exec(),system(),

popen()和pclose(),passthru() 函数。最长用的是前面两个和例中使

用的shell_exec()。

/

$args1="我喜欢你";

$args2="我很爱你";

// 注意空格

$r=shell_exec("/test_shellsh $args1 $args2");

echo $r;

>

3test_batsh程序代码是

@echo off

set path=%path%;%cd%jrebin

set CLASSPATH=;%cd%jrelibrtjar;%cd%test_batclass

java test_bat %1 %2

#bat代码结束

1三个文件都必须放在同一目录下,比如在/usr/local/apache/htdocs/test_bat/下,不然php很难调到java程序。

2把test_batjava程序编译成test_batclass,然后把test_batclass文件存放到CLASSPATH中。如果系统配置了那些环境变量,这里在配置是没有坏处的,也不会影响配置好的系统环境变量。这里设置的好处是当没有配置jdk环境配置,只有jre时,则需把jre放到跟跟test_batjava同一目录下就行了。

三、上面两个例子中,test_shellsh用的绝对路径,test_batbat是用的相对路径。不管是绝对还是相对,只要路径对了就行了。

80端口是为HTTP超文本传输协议开放的端口,主要用于WWW万维网进行传输信息。

其中的具体情况如下: 80端口作为http协议的默认端口,在输入网站的时候其实浏览器(非IE)已经帮忙输入协议了。

所以你备案不备案和80端口没什么关系,各省管局审核备案不一样,有是是必须要求开站的,那80端口就必须开放,有些要求关站备案,关站备案停止域名解析就行了,也不用关闭80端口。

具体操作步骤如下:

1、首先打开linux 的终端,在里面输入指令“vi /etc/sysconfig/iptables”,打开iptables的配置文件,添加一行"-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT"。

2、然后重启iptables输入"service iptables restart"重启服务。

3、重启成功以后,输入"service iptables status",回车就会显示正在生效的规则。

4、最后就可以测试是否成功了,最直接就是回到windows平台通过使用cm(命令提示符窗口,使用telnet命令进行测试,命令"telnet+空格+服务器IP+空格+80"可以连接就会直接跳转到一个空白的窗口。

5、连接之后会弹出服务器的首页来,这就说明80端口开放成功了。

一、确定你单位的互联网接入方式;

一般常用的上网方式按IP形式分两种:

1民用的拨号上网,动态IP;

2专线或光纤上网,静态IP;

如果你单位是动态IP,就要用到花生壳一类的动态域名解析,可以百度“花生壳”申请注册。

如果你单位是静态IP,接着向下看:

二、要确定你单位要开80端口的这台机器是直接接入还是通过局域网共享上网;

如果直接接入上网,弄个动态域名就可以了。

如果是共享上网,要通过路由器,进入路由器设置界面,启用转发规则中的DMZ主机或通过虚拟服务

器设置你要开启的端口。

具体操作可以根据我说的去网上找一些相关教程,这个涉及到较多知识,顺便学一下吧,呵呵。

祝你好运!

首先问题就有一点毛病 80端口并非是你电脑上的端口,而是指网站服务器的端口你的电脑的IE会随机产生一个端口号大于1024的TCP连接,去连接服务器的80端口 下面我指导你做个小实验,打开命令提示符号,输入:netstat -na (回车),会打印类似如下的信息,也就是SOCKET连接的信息: Proto Local Address Foreign Address State TCP 0000:135 0000:0 LISTENING TCP 0000:445 0000:0 LISTENING TCP 1921681812:139 0000:0 LISTENING TCP 1921681812:1462 602815197:80 CLOSE_WAIT TCP 1921681812:1477 22123728240:80 FIN_WAIT_1 我解释其中的一个典型数据: TCP 1921681812:1462 602815197:80 CLOSE_WAIT 这条数据说明:本机的IP是1921681812,正在使用1462端口号,连接外部服务器IP为:602815197的80端口当前状态是等待关闭(这个602815197可能就是""服务器的IP地址) 总之,80端口是别人开80端口给你,而你并不是用80端口接收上例中是用1462接收的在SOCKET的世界中(不管是windows还是linux,mac os),小于1024的端口号都是有固定用途的因此,病毒都是攻击这写端口,也因为如此,防火墙是帮你防这些端口被攻击 再归纳一下:端口号大于1024的一般都是随机产生的,用来连接对方的小于1024的固定端口之用 如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快! Vae团队招人!!!欢迎各位加入!!!走过路过不要错过!!!迅猛发展中!!!

①在电脑浏览器的地址栏中输入IP地址(路由器背面有提示),按回车键。

②然后,在弹出的登录框中输入用户名和密码(路由器背面也有提示)→进入设置界面。

③点击左边的菜单中的转发规则→虚拟服务器→添加新条目。

④添加新条目→常用服务端口号(不同的功能使用不同的端口)。

比如:建立网站一般为80端口,FTP就添加21端口,开启远程桌面连接服务端口,添加3389端口,以此类推……

参考资料:

《路由器如何设置端口》http://jingyanbaiducom/article/4dc40848b4e5c8c8d946f1f6html

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 我想用本地电脑做一个服务器并开一个80端口,同时能让外网访问(现在用的公司局域网),大神们,这该怎么弄

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情