怎么搭建一个可以被外网访问的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下使用最多的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已经成功了
Web服务器:Tomcat5027
JDBC驱动程序:mysql-connector-java-3014-production-binjar
1、搭建JAVA的运行环境
(1)到Sun公司下载j2sdk-1_4_2_05-linux-i586-rpmbin
(2)将文件改为可执行文件:
[root@eframe62 tuzq]# chmod +x j2sdk-1_4_2_05-linux-i586-rpmbin
(3)执行自解压文件:
[root@eframe62 tuzq]# /j2sdk-1_4_2_05-linux-i586-rpmbin
(4)解压缩生成rpm文件j2sdk-1_4_2_05-linux-i586-rpm,安装rpm:
[root@eframe62 tuzq]# rpm –ivh j2sdk-1_4_2_05-linux-i586-rpm
(5)文件被安装在/usr/java/j2sdk142_05目录下,为了方便在/usr目录下做一个简单的连接:
[root@eframe62 usr]# ln –s /usr/java/j2sdk142_05 jdk
(6)加入环境变量:
[root@eframe62 usr]# export JAVA_HOME=/usr/jdk
[root@eframe62 usr]# export CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib:
[root@eframe62 usr]# export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
(7)测试JAVA运行环境:写一个java程序来验证
[root@eframe62 usr]# vi HelloWorldjava
输入如下内容:
public class HelloWorld{
public static void main(String args[]){
Systemoutprintln("Hello,Wrold");}}写盘并退出编辑器::wq[root@eframe62 usr]# javac HelloWorldjava
(没有错误)
[root@eframe62 usr]# java HelloWorld
0条评论