linux中建立网站服务器详解

简介:


总结: 建立一个网站服务器不是个难事,关键是对linux基础命令熟悉,多参考前人的文章,还有就是不管自己看文章感觉多么容易,永远要记住一条:实践才是检验掌握与否的唯一标准.

这次试验项目就是在自己的电脑上建立HTTP服务器,其中偶是重复了一遍samba配置,DNS配置,这里就不记录samba配置,就专门记录下httpd(也就是apache)配置和DNS的配置.
前提:想做个域名为 [url]www.test.com[/url] , suse.test.com,linux.test.com 的网页.
使用工具: 建立samba做linux与windows文件之间传输,建立DNS做这三个域名的解析服务.
配置如下:
先说主要的httpd服务器的配置.
/etc/httpd/conf/httpd.conf
HTTPD的主要设定档,可以说只要配置此文件就可配置好网页服务了.
/etc/httpd/conf.d/*.conf
如果不想在httpd.conf中配置的话,可以自己配置.conf文件. httpd服务一启动,conf.d里面的配置文件会载入进去.文件名必须为.conf文件.
/etc/httpd/modules/
模块文件夹,里面包含网页所需要的模块.
/var/www/html/
网页默认的首页,在输入[url]http://localhost[/url]时显示的就是此文件夹内的网页.
/var/log/httpd/
文档文件夹.对于流量大的网站,此文件夹要特别小心维护.
 
编辑httpd.conf
 ServerTokens OS    # 提供服务器的版本和操作系统信息,不想提供可以改为 Minor
 ServerRoot "/etc/httpd"    #顶层目录,后面的设置文档都用的是绝对路径.
 PidFile run/httpd.pid     #记录进程数的,用于WWW服务器管理.
 Timeout 120    #超时时间,多过这么久就显示无法连接.
 KeepAlive Off    # 一次TCP连接是否持续有效.推荐打开.
 MaxKeepAliveRequests 100    #如果上面是on的话,此配置才生效,最大连接请求数,可调大些.
 KeepAliveTimeout 15    #该次连接在最后一次传输后等待延迟的时间.超过了就断开连接.保持默认值即可.
Include conf.d/*.conf     #有了它, conf.d里面的配置文件才会生效.
AddDefaultCharset UTF-8    # 网页编码配置,如果网页编码不是UTF-8的话,出现的会是乱码.可以根据情况添加.
 
添加一.conf文件到conf.d目录里面去,在此我取名为test.conf .   # look, 绝对的绝对路径,全部路径是etc/httpd/conf.d/
   配置内容如下:
   NameVirtualHost *:80     #网页端口
<Directory "/var/www/www">
    Options FollowSymLinks     #让此目录里的超链接可以链接此目录以外的文件.
    AllowOverride AuthConfig     #表明进入需要认证用户名与密码..htaccess文件有关.
    order allow,deny      #allow优先,没有写入规则的则deny. 所以这里是全部deny
    Allow from all       #不过,这里allow优先,所以是所有用户可浏览网页.
</Directory>
<Directory "/var/www/phorum">
    Options FollowSymLinks
    AllowOverride None     #.htaccess文件失效
    Order allow,deny
    Allow from all
</Directory>
    #以下是域名分配及相关域名的目录.
<VirtualHost *:80>
    ServerName linux.test.com
    DocumentRoot  /var/www/html
</VirtualHost>
<VirtualHost *:80>
    ServerName  [url]www.test.com[/url]
    DocumentRoot  /var/www/www
    CustomLog    /var/log/httpd/www.access_log Combined
</VirtualHost>
<VirtualHost *:80>
    ServerName   suse.test.com
    DocumentRoot   /var/www/suse
</VirtualHost>
  
文件配置完毕.启动httpd服务
[root@localhost /]# service httpd restart
Stopping httpd:                                            [  OK  ]
Starting httpd:                                             [  OK  ]
配置开机启动
[root@localhost /]# chkconfig httpd on
OK,完成以上配置后,一个简单的网页服务器就ok,当然,如果需要PHP等动态页面支持,需要安装相关的软件了.
有了网页,不过没有域名的支持,在客户端上输入[url]www.test.com[/url]等肯定是打不开的了,所以,又要受累了.
首先,VI编辑器编辑named.conf配置文件.它的实际文件并不在etc. look:
lrwxrwxrwx  1 root root 32 Jun  3 21:08 /etc/named.conf -> /var/named/chroot/etc/named.conf  #这才是实际文件的位置
为什么会是在/var/named/chrrot下呢?
看下etc/sysconfig/named文件就知道了:
# Currently, you can use the following options:
# ROOTDIR="/some/where"  --  will run named in a chroot environment.
#                            you must set up the chroot environment before
#                            doing this.
# OPTIONS="whatever" -- These additional options will be passed to named
#                       at startup. Don't add -t here, use ROOTDIR instead.
ROOTDIR=/var/named/chroot     #chroot把文件目录重定向了,为了安全起见
 
Ok,编辑etc/named.conf文件,在原文件后面添加这么两段命令了:
zone "test.com" IN {
        type master; #是否是主从服务器,这里是主DNS服务器
        file "test.com"; # 这个test.com的配置文件名,默认路径是在/var/named/chroot/var/named目录中.
        allow-update {none;}; #不允许更新
};
zone "193.193.10.in-addr.arpa" IN {
        type master;
        file "10.193.147.130.zone";
        allow-update {none;};
}
  #默认只安装bind软件包的话,配置文件是空的,需要安装caching-nameserver软件.
Ok, 修改完毕后,就是建立上面说的两个文件了.
先是正向解析文件test.com (特别注意的是,域名后的.)
  $TTL    86400
@               IN SOA    gw.test.com.   root.gw.test.com (
                             20070603           ; serial (d. adams) #每次修改后最好改下这里的时间.
                             3H         ; refresh  #更新时间
                             15M             ; retry  #更新失败后,多久重复一次
                             1W              ; expiry #重复多久后,不再重复
                             1D )            ; minimum #TTL
 
                IN NS           gw.test.com. #name server 的名字
                IN A            10.193.193.130  #name server主机对应的IP
 
gw.test.com.    IN A                10.193.193.130
www          IN A                10.193.193.130
suse           IN A                10.193.193.130
linux          IN A                10.193.193.130
 
然后是反相解析文件10.193.147.130.zone
$TTL    86400
@       IN      SOA    gw.test.com. root.gw.test.com.  (
                                      1997022701 ; Serial
                                      28800      ; Refresh
                                      14400      ; Retry
                                      3600000    ; Expire
                                      86400 )    ; Minimum
              IN      NS      gw.test.com.
 
 
130.193.193.10.in-addr.arpa.     IN   PTR    gw.test.com.
 
OK,完成以上配置,基本上,一个简单的DNS服务器就OK.,配置是比较简单的,不过,最重要的是概念熟悉.
现在在客户端把DNS指向偶们新建的DNS服务器上,输入网址[url]www.test.com[/url]或者suse.test.com 看下会不会出来网页.反正我的是已经成功了.当时遇到了个小小的问题,中文网页出现乱码了,,经过前人的指点,只需要修改一个地方就OK,
还是当初的/etc/httpd/conf/httpd.conf文件,
找到AddDefaultCharset UTF-8 这行,在后面再添加一行AddDefaultCharset GB2312 OK.反正我这么修改就好了.
 
详细概念说明解释参考: [url]http://linux.vbird.org[/url]






  本文转自 wuqingying 51CTO博客,原文链接:http://blog.51cto.com/carywu/30590,如需转载请自行联系原作者
相关实践学习
基于函数计算快速搭建Hexo博客系统
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
相关文章
|
1月前
|
存储 安全 Linux
【Shell 命令集合 磁盘维护 】Linux 在特定的分区上建立 linux 文件系统 mkfs命令使用教程
【Shell 命令集合 磁盘维护 】Linux 在特定的分区上建立 linux 文件系统 mkfs命令使用教程
27 0
|
1月前
|
Shell Linux C语言
【Shell 命令集合 网络通讯 】Linux 建立串行连接 cu命令 使用指南
【Shell 命令集合 网络通讯 】Linux 建立串行连接 cu命令 使用指南
28 0
|
6月前
|
IDE Linux Shell
linux中建立pycharm快捷方式
linux中建立pycharm快捷方式
|
8月前
|
网络协议 Linux 数据库
Linux TCP作为服务器连接方式:建立稳健高效的服务器通信
在Linux服务器开发中,TCP(Transmission Control Protocol)是一种常用的传输层协议,它为服务器与客户端之间的连接提供可靠的、面向连接的通信方式。本文将深入探讨Linux TCP作为服务器连接方式的工作原理,包括服务器端的建立、连接管理和数据传输,以帮助读者建立稳健高效的服务器通信。
218 0
|
9月前
|
关系型数据库 MySQL Shell
linux下建立mysql数据库备份脚本
将以上内容放到text文件中,将后缀名修改为.sh文件。
|
9月前
|
存储 Unix Linux
Linux设备驱动程序(二)——建立和运行模块
本章介绍所有的关于模块和内核编程的关键概念,通过一个 hello world 模块来认识驱动加载的流程及相关细节。
86 0
|
10月前
|
Linux 开发工具 数据安全/隐私保护
如何建立Linux与git的连接?
建立连接三板斧: add , commit ,push Linux与git远程连接的方法: 1.设置全局的用户名和邮箱 git config – global user.name “你的用户名” git config – global user.email “你的邮箱”
|
Java 应用服务中间件 Linux
linux篇-linux 下建立多个tomcat
linux篇-linux 下建立多个tomcat
80 0
linux篇-linux 下建立多个tomcat
|
Linux
11.8 Linux查询已建立好的磁盘配额(quota和repquota命令)
对于建立好的磁盘配额,还需要有效的查询配额的手段,这样才能知道系统中到底有哪些分区设定了哪些配额。
250 0
11.8 Linux查询已建立好的磁盘配额(quota和repquota命令)
|
Linux
11.3 Linux扫描文件系统并建立磁盘配额记录文件(quotacheck命令)
其实,磁盘配额(Quota)就是通过分析整个文件系统中每个用户和群组拥有的文件总数和总容量,再将这些数据记录在文件系统中的最顶层目录中,然后在此记录文件中使用各个用户和群组的配额限制值去规范磁盘使用量的。因此,建立 Quota 的记录文件是非常有必要的。
258 0
11.3 Linux扫描文件系统并建立磁盘配额记录文件(quotacheck命令)