www服务器
首先,来说一下www的意义就是World Wide Web,我们最常讲的架站就是架设一个web网站。
www服务器的重点是提供一些数据,这些数据大部分就是档案,我们必须在服务器端先将数据文件写好,并放置在某个特殊的目录底下,这个目录就是我们整个网站的首页了!一般来说,这个目录可能是在/var/www/html或者是/src/www/。
访问这些资源是:<协定>://<主机地址或主机名>[:port]/<目录资源>
要架设一部www服务器,必须要有的环境:
1)支持的操作系统:让所需要的软件都能够安装执行。
2)可运作的www服务器:例如Apache与IIS等www服务器
3)网页程序语言:包括perl,PHP,JSP,CGI,ASP等等
4)数据储存之数据库系统:包括MySQL,MSSQL,Oracle等
最常用的架构就是LAMP(Linux+Apache+mysql+PHP)
要架设这样的一个网站,所需要的软件有:
httpd(提供Apache主程序)
MySQL(MySQL客户端程序)
MySQL-server(MySQL服务器程序)
php(PHP主程序)
php-devel(PHP的发展工具)
php-mysql(提供给PHP程序读取MySQL数据库的模块)
安装所需的软件:
Apache的相关结构:
1)/etc/httpd/conf/httpd.conf (主要的配置文件)
2)/etc/httpd/conf.d/*.conf(很多额外参数档,扩展名是.conf)
3)/usr/lib64/httpd/modules,/etc/httpd/modules Apache支持很多的外挂模块
4)/var/www/html (apache首页所在的目录,首页的文件名为index.html)
5)/var/www/error (如果因为服务器设定错误,或者是浏览器端要求的数据错误时,在浏览器上出现的错误讯息就以这个目录的默认讯息为主!)
6)/var/www/icons (这个目录提供 Apache 默认给予的一些小图示,你可以随意使用啊!当你输入『http://localhost/icons/』 时所显示的数据所在。)
7)/var/www/cgi-bin/ (默认给一些可执行的 CGI (网页程序) 程序放置的目录;当你输入『http://localhost/cgi-bin/』 时所显示的数据所在。)
8)/var/log/httpd (预设的 Apache 登录档都放在这里,对于流量比较大的网站来说,这个目录要很小心,,所以你务必要修改一下你的 logrotate 让登录档被压缩,否则...)
9)/usr/sbin/apachetl (这个就是 Apache 的主要执行档,这个执行档其实是 shell script 而已, 他可以主动的侦测系统上面的一些设定值,好让你启动 Apache 时更简单!)
10)/usr/sbin/httpd (这个才是主要的 Apache 二进制执行文件啦!)
11)/usr/bin/htpasswd (Apache 密码保护)
MySQL的相关档案:
1)/etc/my.cnf (这个是 MySQL 的配置文件,包括你想要进行 MySQL 数据库的优化,或者是针对 MySQL 进行一些额外的参数指定, 都可以在这个档案里面达成的!)
2)/var/lib/mysql (这个目录则是 MySQL 数据库档案放置的所在处啦!当你有启动任何 MySQL 的服务时, 请务必记得在备份时,这个目录也要完整的备份下来才行啊!)
PHP相关的档案:
1)/etc/httpd/conf.d/php.conf (那你要不要手动将该模块写入 httpd.conf 当中?不需要的,因为系统主动将 PHP 设定参数写入这个档案中了! 而这个档案会在 Apache 重新启动时被读入,所以 OK 的啦!)
2)/etc/php.ini (就是 PHP 的主要配置文件,包括你的 PHP 能不能允许使用者上传档案?能不能允许某些低安全性的标志等等, 都在这个配置文件当中设定的啦!)
3)/usr/lib64/httpd/module/libphp5.so (PHP 这个软件提供给 Apache 使用的模块!这也是我们能否在 Apache 网页上面设计 PHP 程序语言的最重要的咚咚! 务必要存在才行!)
4)/etc/php.d/mysql.ini, /usr/lib64/php/modules/mysql.so (你的 PHP 是否可以支持 MySQL 接口呢?就看这两个东西啦!这两个咚咚是由 php-mysql 软件提供的呢!)
5)/usr/bin/phpize, /usr/include/php/ (如果你未来想要安装类似 PHP 加速器以让浏览速度加快的话,那么这个档案与目录就得要存在, 否则加速器软件可无法编译成功喔!这两个数据也是 php-devel 软件所提供的啦!)
Apache的基本设定
在测试用的时候我们一般都是用本机主机名来测试,所以你必须要确保在/etc/hosts中有一行:
Apache的设定主要就是操作httpd.conf这个配置文件,这个文件的基本设定格式就是:
<设定项目>
此设定项目内的相关参数
</设定项目>
prefork,worker这两个模块是与服务器联机资源相关的设定项目。默认使用的是prefork模块。这两个模块其实是在不同的执行档中,分别是:
/usr/sbin/httpd:使用 prefork 模块;
/usr/sbin/httpd.worker:使用 worker 模块。
具体使用的那个模块可以查阅/etc/sysconfig/httpd,可以通过修改这个档案来改变使用那个模块。
Apache中端口的设定:
PHP的相关设定:
PHP的配置文件主要是/etc/httpd/conf.d/php.conf
PHP安全方面的设定:/etc/php.ini
这个档案是php的配置文件,可以对这个档案的一些内容进行修改,免得客户端利用你的PHP资源:
PHP提供的上传容量限制:
启动Apache程序:
1)启动Apache程序,第二个命令为验证配置文件是否正确,除了下面那个档案可以启动Apache以外,还有/usr/sbin/apachectl start可以:
2)验证是否正常启动:
3)设置开机自启动
4)查看登录档的信息 (一旦遇到问题一定要先看这个档案下的信息)
5)在本机测试成功以后,在别终端上的客户端测试不一定成功,主要的原因可能是网络问题,配置文件错误,或者是权限问题。重点关注的是selinux,和防火墙。出现了问题一定要记得看登录档信息。
防火墙放行:
selinux放行:
MySQL的基本设定
在启动MySQL前,MySQL是没有建立任何数据的,在/var/lib/mysql中是没有档案的,只有初次启动时才会进行初始化。
1)启动MySQL数据库
2)MySQL的预设端口在3306,接下来我们尝试登陆一下数据库,在第一次登陆的时候是没有密码的,为了安全考虑,我们应该为管理员设置一个密码。
3)性能调优 /etc/my,cnf
设定好这些以后,就可以开始创建自己的网站了,下面是一些你必须知道的:
默认的首页目录在 /var/www/html/,你应该将所有的 WWW 数据都搬到该目录底下才对!
注意你的资料权限 (rwx 与 SELinux)!务必要让 Apache 的程序用户能够浏览!
尽量将你的首页档案档名取为 index.html 或 index.php !
如果首页想要建立在其他地方,你应该要修改 DocumentRoot 那个参数 (httpd.conf)
不要将重要数据或者隐私数据放置到 /var/www/html/ 首页内!
如果你需要安装一些 CGI 程序的话,建议你将他安装到 /var/www/cgi-bin/ 底下, 如此一来你不需要额外设定 httpd.conf 即可顺利启动 CGI 程序;