怎么搭建一个可以被外网访问的linux web服务器
首先需要将你的web服务器搭建好,然后需要做NAT,我这里有我的一个做NAT的笔记,分享给你
NAT
拓扑结构图:
要求:
1内网能够ping通外网地址,并且成功访问外网中的web服务;
2外网能够访问内网的ftp服务。
步骤:
一:内网服务器配置
1在内网中设置好ip地址,网关和DNS均为NAT服务器内网口地址,并搭建好ftp服务,此处略
二:NAT服务器配置
1在NAT只能中添加一块网卡作为 外网卡,并设置好ip地址
2开启NAT服务器的路由功能
[root@c2 ~]# vi /etc/sysctlconf
netipv4ip_forward = 1 //将0改为1
[root@c2 ~]# sysctl -p //永久生效
3配置防火墙(必须按照以下循序配置,否则配置完成后不能拼通外网,需配置第二次)
#iptables-X
#iptables-t nat -X
#iptables --flush
#iptables -t nat --flush
//以上为重置链表的命令
#iptables-t nat -A POSTROUTING -s 19216810/24 -o eth1 -j SNAT --to 202101012
//这条命令是将内网19216810/24的源地址映射为NAT服务器的外网口地址,eth1为外网卡
# iptables -t nat -A PREROUTING -p tcp--dport 21 -j DNAT --to 192168111
# iptables -t nat -A PREROUTING -p tcp--dport 20 -j DNAT --to 192168111
//这两条命令是发布内务的ftp服务
或者:
# iptables -t nat -A PREROUTING -p tcp -d 202101012--dport 21 -j DNAT --to 192168111
# iptables -t nat -A PREROUTING -p tcp -d 202101012--dport 20 -j DNAT --to 192168111
#/etc/initd/iptablessave
#/etc/initd/iptablesrestart
验证:
内网访问外网的web服务:
[root@c1 ~]# curl 202101013
web
外网访问内网的ftp服务(外网的防火墙一定要关闭,否则ls查看目录时会出错,或者打开外网的20号端口新建链接的也可以)#
[root@c3 ~]# ftp 202101012
Connected to 202101012 (202101012)
220 (vsFTPd 222)
Name (202101012:root): ftp01
331 Please specify the password
Password:
230 Login successful
Remote system type is UNIX
Using binary mode to transfer files
ftp> ls
227 Entering Passive Mode(192,168,1,11,93,1)
ftp: connect: Network isunreachable //列不出内容是因为进入了passive模式
ftp>passive //用passive命令切换passive模式和active模式
Passivemode off
ftp> ls
200 PORT command successful Consider usingPASV
150 Here comes the directory listing
226 Directory send OK
ftp>
补充:
删除防火墙中配置的记录
[root@c2 ~]# iptables -t nat -L POSTROUTING -n --line-number //列出记录和记录序号
[root@c2 ~]# iptables -t nat -D POSTROUTING1 //根据序号删除记录
你将内网的ftp服务换成web服务就可以了,主要是弄懂NAT的原理,将内部服务通过DNAT发布到外网
安装linux操作系统,安装jdk,安装tomcat配置环境变量,更改tomcat配置文件,写入数据库连接信息,比如:
通过tomcat连接1921681100上的oracle数据库,其中sid为orcl
[tomcat@localhost classes]# pwd
/home/tomcat/apache-tomcat-601/webapps//WEB-INF/classes
[tomcat@localhost classes]# vim hibernateproperties
jdbcurl=jdbc:oracle:thin:@1921681100:1521:orcl
你好, 这个是WEB服务器,因为你能用WEB浏览器访问你的服务器了。
但估计你装的是一体化安装包。你目前显示的只是WEB服务器的增强功能模块PHP模块和MYSQL数据库模块的信息。不是WEB服务器本身的信息。
上传方式很简单,你把文件直接拷贝到WEB服务安装的目录下即可, 目前从你的信息上, 看不到这个目录到底在那个位置,一般来将你装的WEB服务器是APACHE,你查下/HOME等目录下有没有就可以了。。。
linux下使用最多的web服务器软件要算apache了。
linux下安装apache详解
下面是linux下安装apache的完整代码,系统是redhat55
点此查看详细图文教程
下载httpd-226tarbz2 把httpd-226tarbz2放到/soft 下
[root@localhost ~]#cd /soft
[root@localhost soft]#tar jxvf
httpd-226tarbz2 //解压apache的压缩包
[root@localhost
soft]#cd
下面是linux下安装apache的完整代码,系统是redhat55
点此查看详细图文教程
下载httpd-226tarbz2 把httpd-226tarbz2放到/soft 下
[root@localhost ~]#cd /soft
[root@localhost soft]#tar jxvf
httpd-226tarbz2 //解压apache的压缩包
[root@localhost soft]#cd
httpd-226 //定位到httpd-226 文件夹下
[root@localhost
httpd-226]#ls //查看显示httpd-226 文件夹下内容
[root@localhost
httpd-226]#/configure --help | more //查看安装apache配置参数
[root@localhost httpd-226]#/configure --prefix=/usr/local/apache
--enable-so // 配置apache路径
[root@localhost httpd-226]#make
//编译apache
[root@localhost httpd-226]#make
install //安装apache
[root@localhost httpd-226]#cd
/usr/local/apache //进入apache的目录
[root@localhost apache]# cd
conf/
[root@localhost conf]#cp -a httpdconf httpdconf-
//备份apache配置文件
[root@localhost conf]#chkconfig --list
httpd //查看httpd服务是否已存在
[root@localhost conf]#chkconfig httpd
off //关闭系统自带了httpd的服务,如果存在httpd服务
[root@localhost
conf]#service httpd status //查看自带httpd服务状态
[root@localhost
conf]#/usr/local/apache/bin/apachectl -k start //linux启动apache命令
[root@localhost conf]#netstat -an | grep
:80 //查看linux80端口是否开启
[root@localhost conf]#ps -aux | grep
httpd //linux下查看apache进程
[root@localhost conf]#cd /
[root@localhost local]#cp /usr/local/apache/bin/apachectl
/etc/rcd/initd/apache //拷贝apache启动脚本
[root@localhost local]#vi
/etc/rcd/initd/apache // 这里是编辑apache启动脚本
在开头的#!/bin/sh
下面加上
#chkconfig: 2345 85 15
[root@localhost local]#chkconfig --add apache //添加apache服务
[root@localhost local]#chkconfig --list apache //列出apache服务
[root@localhost local]#service apache stop //停止apache服务
[root@localhost local]#netstat -an | grep :80 //查看linux的80端口是否关闭
[root@localhost local]#ps -aux | grep
httpd //查看是否存在httpd服务,若果之前自带httpd服务启动的话会导致新添加的apache服务启动失败
[root@localhost local]#service apache start //启动apache服务
打开你的服务器ip地址,看看是否出现了tomcat的默认首页,如果出现的话,那么恭喜你
linux下安装apache已经成功了
0条评论