鸟哥的linux私房菜之WWW服务器--摘录

一、相关概念


HTTP(Hyper Text Transport Protocol,HTTP),超文本传输协议
HTTPd,HTTP daemon之意,为自由软件,后来由于HTTPd这个服务器一直没有妥善的发展,于是一群社群朋友便发起一个计划,这个计划主要在改善原来的HTTPd服务器软件,称这个改良过的软件为 Apache,取其(一个修修改改的服务器 A patch server)之意,Apache在1996年以后便成为WWW服务器上市占率最高的软件了。
Mozilla:是一个自由软件的开发计划


网址列的意义:
URL(Uniform Resource Locator),以斜线作为分段,它可以这样被解释,如下:
<协定>://<主机地址或主机名>[:port]/<目录资源>
协定:如http,https,ftp,telnet等
主机地址或主机名:
目录资源:


WWW server/client间数据传输的方式
GET, POST, HEAD(服务器端响应给Client端的一些数据文件头而已),OPTIONS(服务器端响应给Client端的一些允许的功能与方法),DELETE(删除某些资源的举动)


WWW服务器的类型:系统、平台、数据库与程序(LAMP)
1)仅提供用户浏览的单向静态网页(目前主要的免费虚拟主机大多是这种类型)
2)提供用户互动接口的动态网站,动态网站的网页程序语言与数据库接口,这就是所谓的服务器端工作任务接口(Server Side Include, SSI),变动的是数据库内的数据,网页程序其实并没有任何改变的


https:加密的网页数据(ssl)及第三方公正单位
SSL(Secure Socket Layer), CA(Certificate Authorities),所谓的CA就是一个公认的公正单位


客户端常见的浏览器
IE,firefox,chrome(窗口接口)
links与lynx,wget(文字接口)(服务器篇:第五章)


二、LAMP所需软件与其结构(yum安装)
httpd(提供Apache主程序)
mysql(MySQL客户端程序)
mysql-server(MySQL服务器程序)
php(PHP主程序含给apache使用的模块)
php-devel(PHP的发展工具,这个与php外挂的加速软件有关)
php-mysql(提供给php程序读取MySQL数据库的模块)


yum安装如下,(针对apache2.2.x)
以下是一些主要的配置文件说明:( apache
/etc/httpd/conf/httpd.conf(主要配置文件),不过很多其他的distribution都将这个档案拆成数个小档案来分别管理不同的参数。
/etc/httpd/conf.d/*.conf(很多的额处参数档,扩展名是.conf)
/usr/lib64/httpd/modules/,/etc/httpd/modules/:Apache支持很多的外挂模块,例如php以及ssl都是apache外挂的一种,所有你想要使用的模块档案默认都是放置在这个目录当中的


/var/www/html:CentOS默认的apache所在目录。
/var/www/error:如果因为服务器设定错误,或者是浏览器端要求的数据错误时,在浏览器上出现的错误讯息就以这个目录的默认讯息为主
/var/www/icons:这个目录提供Apache默认给予的一些小图标
/var/www/cgi-bin:默认给一些可执行的CGI(网页程序)程序放置的目录
/var/log/httpd:预设的Apache登录档都放在这里,对于流量比较大的网站来说,这个目录要小心,务必要修改一下你的logrotate让登录档被压缩
/usr/sbin/apachectl: 这个就是Apache的主要执行档(其实是shell script而已)
/usr/sbin/httpd:主要的Apache二进制执行文件
/usr/bin/htpasswd(Apache密码保护)


至于MySQL方面,你需要知道的几个重要目录与档案有:( mysql
/etc/my.cnf,这个是MySQL的配置文件,包括你想要进行MySQL数据库的优化,或者针对MySQL进行一些额外的参数指定
/var/lib/mysql/:这个目录则是MySQL数据库放置的所在处,当你有启动任何MySQL的服务时,请务必记得在备份时,这个目录也要完整的备份下来


至于php方面,( php
/etc/httpd/conf.d/php.conf 系统主动将php设定参数写入这个档案中了。
/etc/php.ini 就是php的主要配置文件
/usr/lib64/httpd/modules/libphp5.so php这个软件提供给Apache使用的模块
/etc/php.d/mysql.ini,/usr/lib64/php/modules/mysql.so php支持MySQL的接口
/usr/bin/phpize,/usr/include/php/如果你未来想要安装类似php加速器以让浏览速度加快的话,那么这个档案与目录就得要存在,否则加速器软件无法编译成功,这两个数据也是php-devel软件所提供的




三、Apache的基本设定(具体可察看Apache2.2核心文件)


vim /etc/hosts  
127.0.0.1 localhost.localdomain  localhost
(这样在启动你的Apache时才不会发生找不到完整主机名的错误讯息)




<IfModule prefork.c>  /usr/sbin/httpd
<IfModule worker.c>   /usr/sbin/httpd.worker( 这两个比较陌生




/etc/sysconfig/httpd,就能够知道系统默认提供prefork模块


php的预设参数修改


Apache的说明文件给自己的WWW服务器的话,可以安装一下httpd-manual这个软件,你就会发现在这个目录当中又会新增档案(manual.conf)


出现错误,解决之道
/etc/init.d/httpd configtest测试语法,更佳的解决方案是参考/var/log/httpd/error_log内的数据,可以取得更详尽的解决之道。


mysql的基本设定
效能调校  /etc/my.cnf
(关于内存的设定,内存的简单计算方式为:key_buffer+(sort_buffer+read_buffer)*max_connection),且总量不可高于实际的物理内存量
pid-file?这是个什么东东
防火墙设定与SELinux的规则放行)(暂略过)


出现错误,检查,/var/log/httpd/error_log以及/var/log/messages的内容


四、Apache服务器的进阶设定
1.启动用户的个人网站(权限是重点)
vim /etc/httpd/conf/httpd.conf
<IfModule mod_userdir.c>
    #UserDir disable
    UserDir www
</IfModule>
/etc/init.d/httpd restart


2.启动某个目录的CGI(perl)程序执行权限
3.浏览权限的设定动作(order,limit)
4. .htaccess与认证网页设定
5.虚拟主机的设定(dig)
虚拟主机的常见用途
主机代管,服务器数据备援系统,将自己的资料分门别类


6.php强化模块( eaccelerator)与Apache简易效能测试
eaccelerator的官方网站在底下:http://eaccelerator.net/,注意要配合到正确的php版本


7. syslog与logrotate
我们的Apache登录文件主要记录两个东西,分别是:
/var/log/httpd/access_log:用户端正常要求的记录信息
/var/log/httpd/error_log:用户错误要求的数据,包括服务器设定错误的信息等。


vim /etc/logrotate.d/httpd
/var/log/httpd/*log {}
此外,透过分析登录档其实我们可以知道我们的网站到底是哪一个网页最热门,并且也能够知道客户端是来自哪里呢。


8.两个常见的分析软件
登录文件分析软件: webalizer awstats 


9.建立联机加密网站(https)及防砍站脚本
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值