linux构建动态WEB服务器安装篇
基本配置
安装web服务器:httpd-2XX
先优化吧
根据CPU设置变量
#export CFLAGS=”-O2 -march=pentium4 -pipe” CXXFLAGS=$CFLAGS
“-march”选项表示为特定的cpu类型编译二进制代码(不能在更低级别的cpu上运行),
Intel通常是:pentium2, pentium3, pentium3m, pentium4, pentium4m, pentium-m, prescott, nocona
说明:pentium3m/pentium4m是笔记本用的移动P3/P4;pentium-m是迅驰I/II代笔记本的cpu;
prescott是带SSE3的P4(以滚烫到可以煎鸡蛋而闻名);nocona则是最新的带有EMT64(64位)的P4(同样可以煎鸡蛋)
AMD通常是:k6, k6-2, k6-3, athlon, athlon-tbird, athlon-xp, athlon-mp, opteron, athlon64, athlon-fx
用AMD的一般都是DIYer,就不必解释了吧。
1解压缩
#/configure –sysconfdir=/etc/ –enable-ssl –enable-modules
#make;make install
2启动服务
#/usr/local/apache2/bin/apachectl start
3 测试
#links http://localhost
#lynx http://localhost
默认网站目录/usr/local/apache2/htdocs/indexhtml
netstat -tul |grep 80
安装Mysql
1解压缩
# /configure –sysconfdir=/etc –with-extra-charsets=latin1,utf8,gbk,big5,gb2312
–with-extra-charsets指定其它我们要用到的编码,有时象动网之类要用到gbk。
#make ;make install
#cp /usr/local/share/mysql/my-largecnf /etc/mycnf
2初始化
#useradd -d /usr/local/var mysql
#su - mysql
$/usr/local/bin/mysql_install_db
3启动服务器
$/usr/local/bin/mysqld_safe
4用/usr/local/bin/mysql登录测试
安装php
1解压缩后
#/configure –with-apxs2=/usr/local/apache2/bin/apxs –with-mysql=/usr/local –enable-versioning
–enable-versioning支持老的 php3php2
#make ; make install
#cp phpini-dist /usr/local/lib/phpini
2编辑apache配置文件/etc/httpdconf,增加
AddType application/x-httpd-php php phtml
3编写测试网页/usr/local/apache2/htdocs/testphp
4访问测试网页
# links http://localhost/testphp
收尾工作
1让apache自动启动
加入到开机脚本/etc/rclocal
/usr/local/apache2/bin/apachectl start
2让mysql数据库服务器自动启动
#cp /usr/local/share/mysql/mysqlserver /etc/initd/mysqld
#chkconfig mysqld on
所谓并发服务器就是在同一个时刻可以处理来自多个客户端的请求;循环服务器是指服务器在同一时刻只可以响应一个客户端的请求。而且对于TCP和UDP套接字,这两种服务器的实现方式也有不同的特点。
1、TCP循环服务器:
首先TCP服务器接受一个客户端的连接请求,处理连接请求,在完成这个客户端的所有请求后断开连接,然后再接受下一个客户端的请求。创建TCP循环服务器的算法如下:
复制代码
代码如下:
socket(……); //创建一个TCP套接字
bind(……); //邦定公认的端口号
listen(……); //倾听客户端连接
while(1) //开始循环接收客户端连接
{
accept(……);//接收当前客户端的连接
while(1)
{ //处理当前客户端的请求
read(……);
process(……);
write(……);
}
close(……); //关闭当前客户端的连接,准备接收下一个客户端连接
}
TCP循环服务器一次只处理一个客户端的请求,如果有一个客户端占用服务器不放时,其它的客户机连接请求都得不到及时的响应。因此,TCP服务器一般很少用循环服务器模型的。
2、TCP并发服务器:
并发服务器的思想是每一个客户端的请求并不由服务器的主进程直接处理,而是服务器主进程创建一个子进程来处理。创建TCP并发服务器的算法如下:
复制代码
代码如下:
socket(……); //创建一个TCP套接字
bind(……); //邦定公认的端口号
listen(……);//倾听客户端连接
while(1) //开始循环接收客户端的接收
{
accept(……);//接收一个客户端的连接
if(fork(……)==0) //创建子进程
{
while(1)
{ //子进程处理某个客户端的连接
read(……);
process(……);
write(……);
}
close(……); //关闭子进程处理的客户端连接
exit(……) ;//终止该子进程
}
close(……); //父进程关闭连接套接字描述符,准备接收下一个客户端连接
}
TCP并发服务器可以解决TCP循环服务器客户端独占服务器的情况。但同时也带来了一个不小的问题,即响应客户机的请求,服务器要创建子进程来处理,而创建子进程是一种非常消耗资源的操作。
3、UDP循环服务器:
UDP服务器每次从套接字上读取一个客户端的数据报请求,处理接收到的UDP数据报,然后将结果返回给客户机。创建UDP循环服务器的算法如下:
1 socket(……); //创建一个数据报类型的套接字 2 bind(……); //邦定公认的短口号 3 while(1) //开始接收客户端的连接 4 { //接收和处理客户端的UDP数据报 5 recvfrom(……); 6 process(……); 7 sendto(……);//准备接收下一个客户机的数据报 8 }
消除行号
因为UDP是非面向连接的,没有一个客户端可以独占服务器。只要处理过程不是死循环,服务器对于每一个客户机的请求总是能够处理的。
UDP循环服务器在数据报流量过大时由于处理任务繁重可能造成客户技数据报丢失,但是因为UDP协议本身不保证数据报可靠到达,所以UDP协议是允许丢失数据报的。
鉴于以上两点,一般的UDP服务器采用循环方式4、UDP并发服务器把并发的概念应用UDP就得到了并发UDP服务器,和并发TCP服务器模型一样是创建子进程来处理的。
创建UDP并发服务器的算法如下:
复制代码
代码如下:
socket(……); //创建一个数据报类型的套接字
bind(……); //邦定公认的短口号
while(1) //开始接收客户端的连接
{ //接收和处理客户端的UDP数据报
recvfrom(……);
if(fork(……)==0) //创建子进程
{
rocess(……);
sendto(……);
}
}
除非服务器在处理客户端的请求所用的时间比较长以外,人们实际上很少用这种UDP并发服务器模型的。
4、多路复用I/O并发服务器:
创建子进程会带来系统资源的大量消耗,为了解决这个问题,采用多路复用I/O模型的并发服务器。采用select函数创建多路复用I/O模型的并发服务器的算法如下:
初始化(socket,bind,listen);
复制代码
代码如下:
while(1)
{
设置监听读写文件描述符(FD_);
调用select;
如果是倾听套接字就绪,说明一个新的连接请求建立
{
建立连接(accept);
加入到监听文件描述符中去;
}
否则说明是一个已经连接过的描述符
{
进行操作(read或者write);
}
多路复用I/O可以解决资源限制问题,此模型实际上是将UDP循环模型用在了TCP上面。这也会带了一些问题,如由于服务器依次处理客户的请求,所以可能导致友的客户会等待很久。
给虚拟机的Linux装一个ssh服务,开启之后再xp上用putty之类的ssh客户端访问。
当然还可以安装telnet服务,vnc服务等等,这些需要另外的客户端。
建议先提前了解所需的Linux命令,如下进行搜索
Linux服务器端准备工作
首先需要在Linux服务器上安装openssh-server,打开Linux服务器命令行终端,键入下面命令
sudo apt-get install openssh-server
修改Linux服务器的ssh配置文件
sudo gedit /etc/ssh/sshd_config
先使用”#”注释掉PermitRootLogin without-password
添加一行 PermitRootLogin yes
然后开启ssh服务
ps -e | grep ssh
我这里有这个资源,可以在这里查看
https://panbaiducom/s/1cczq5o9rqihFRB0GDGuGuApwd=1234
《鸟哥的Linux私房菜服务器架设篇》是2008年1月1日机械工业出版社出版的图书,作者是鸟哥。本书主要讲述了LINUX操作系统如何使用,网站的维护与规划,服务器如何编设等IT问题。
《鸟哥的Linux私房菜》(鸟哥)电子书网盘下载免费在线阅读
链接:https://panbaiducom/s/1bxaz8zVz9zCLZC_tJkv9xw
提取码:1234书名:鸟哥的Linux私房菜
作者:鸟哥
豆瓣评分:88
出版社:机械工业出版社
出版年份:2012-7
页数:804
内容简介:
《鸟哥的Linux私房菜:服务器架设篇(第3版)》内容简介:您已有Linux基础,想要进一步学习服务器架设?还想了解如何维护与管理您的服务器?本书是您最佳的选择。
目前有关Linux架站的书籍大多只教导读者如何架设服务器,很少针对服务器的维护与管理,以及发生问题时的应对策略加以说明,以至于一旦服务器遭受攻击,眼见的就是一场手忙脚乱。因此,作者先从系统基础以及网络基础讲起,再谈到网络攻击与防火墙防护主机后,才进入服务器的架设。
作者简介:
鸟哥 “台湾成功大学”环境工程系博士,在就读期间由于研究需要,接触到Linux操作系统,又因实验室交接传承的需要而搭建了“鸟哥的Linux私房菜”网站(俗称鸟站),因个人喜好碎碎念(琐碎重复)的特质,因此,鸟站文章风格就此成形。
系统运维管理是许多公司在维护软件系统中非常重要的工作内容。今天,我们就一起来了解一下,在运维过程中都有哪些工具是需要我们掌握和使用的。
0条评论