这个。。。。论文这里没有,但是可以了解一下web服务器的架构。在linux上搭建web最常见的就是LAMP/LNMP。其中L---linux,A----apache,M-----mysql,P------php.N-----nginx。我们的网站分为动态网站和静态网站静态网站不多的去说了,就是html语言写的网站,而动态网站就是动态语言写的有后天数据库的网站。在网站的语言中常见的有 ASP,ASPx,PHP等。一般php语言写的网站都是与mysql使用的。搭建网站是的软件apache和nginx ,还有tomcat等。apache的最大负载在3000-5000左右,而nginx的最大负载量在30000-50000,这个都是理论的值。一个大型的网站,大并发量的网站,我们需要的是网站的负载均衡,和反向代理来搭建。nginx应该就是候选了,根据不同的访问站点进行不同的重定向,等等。当然这个又要考虑到数据库了,大并发量的网站一定要有大并发量的数据库的解决方案,mysql的负载等等。还有网络,cdn网络等等。这些东西都是要考虑的。把这写点都找找吧。linux的网站的搭建的教程命令建议参考《linux就该这样学》这本书,相信的命令诠释网站的搭建。希望的能够帮助到您
创新互联公司网站建设公司是一家服务多年做网站建设策划设计制作的公司,为广大用户提供了网站设计、做网站,成都网站设计,广告投放平台,成都做网站选创新互联公司,贴合企业需求,高性价比,满足客户不同层次的需求一站式服务欢迎致电。
下面是我在网上收集的一点质料,不知道你有用没……
我们为什么要用Linux?
Linux是"免费"的,上面又有那么多"免费"的软件,为什么不用?
Windows实在太不稳定了,受不了,换个平台吧。
想学习UNIX,可是钱包里的钞票不多,先从Linux开始吧。
想学习操作系统,哪里有开放源代码的OS?而且还要很活跃,有前途的。
基于Linux的并行计算,不但费用低廉,而且功能强大,有潜力,重要的是有源代码。
想成为一名Hacker(当然是网侠一类),Linux当然是最好的工具之一。
Linux潜在的商业价值不可限量,性能相当地好,稳定性也很好,用其替换商业操作系统真是明智的选择。
Oracle,Infomix,Sysbase,IBM都支持Linux了,用其作数据库平台挺不错。烦了一次又一次去买许可证(奸商经常设这样的陷阱),Linux遵循公共版权许可证(GPL)正合我意。
Linux太适合Internet/Intranet,本身就是通过网络来协同开发的,网络时代为什么不用Linux?
采用Linux可以极大的降低拥有者总成本(TCO)。等待商业操作系统补丁的耐心是有限度的,更受不了总被商家牵着鼻子走,开放源代码的Linux至少可以使用户有一定的控制权。开放源代码使用户可以按照自己的需要添加或删除某些功能,用户可定制性,真是太好了!
利用开放源代码的Linux还可以开发路由器,嵌入式系统,网络计算机,个人数字助理等等,GNU真是巨大的知识宝库,何乐而不用?
崇尚自由软件精神和梦想,贡献自己的力量!
Linux的特点
Linux操作系统在短短的几年之内得到了非常迅猛的发展,这与Linux具有的良好特性是分不开的。Linux包含了Unix的全部功能和特性。简单的说,Linux具有以下主要特性:
1.开放性
开放性是指系统遵循世界标准规范,特别是遵循开放系统互连(OSI)国际标准。凡遵循国际标准所开发的硬件和软件,都能彼此兼容,可方便地实现互连。
2.多用户
多用户是指系统资源可以被不同用户各自拥有使用,即每个用户对自己的资源(例如:文件、设备)有特定的权限,互不影响。Linux和Unix都具有多用户的特性。
3.多任务
多任务是现代计算机的最主要的一个特点。它是指计算机同时执行多个程序,而且各个程序的运行互相独立。Linux系统调度每一个进程,平等地访问微处理器。由于CPU的处理速度非常快,其结果是,启动的应用程序看起来好像在并行运行。事实上,从处理器执行一个应用程序中的一组指令到Linux调度微处理器再次运行这个程序之间只有很短的时间延迟,用户是感觉不出来的。
4.良好的用户界面
Linux向用户提供了两种界面:用户界面和系统调用。Linux的传统用户界面是基于文本的命令行界面,即shell,它既可以联机使用,又可存在文件上脱机使用。shell有很强的程序设计能力,用户可方便地用它编制程序,从而为用户扩充系统功能提供了更高级的手段。可编程Shell是指将多条命令组合在一起,形成一个Shell程序,这个程序可以单独运行,也可以与其他程序同时运行。
系统调用给用户提供编程时使用的界面。用户可以在编程时直接使用系统提供的系统调用命令。系统通过这个界面为用户程序提供低级、高效率的服务。Linux还为用户提供了图形用户界面。它利用鼠标、菜单、窗口、滚动条等设施,给用户呈现一个直观、易操作、交互性强的友好的图形化界面。
5.设备独立性
设备独立性是指操作系统把所有外部设备统一当作成文件来看待,只要安装它们的驱动程序,任何用户都可以象使用文件一样,操纵、使用这些设备,而不必知道它们的具体存在形式。
具有设备独立性的操作系统,通过把每一个外围设备看作一个独立文件来简化增加新设备的工作。当需要增加新设备时、系统管理员就在内核中增加必要的连接。这种连接(也称作设备驱动程序)保证每次调用设备提供服务时,内核以相同的方式来处理它们。当新的及更好的外设被开发并交付给用户时,操作允许在这些设备连接到内核后,就能不受限制地立即访问它们。设备独立性的关键在于内核的适应能力。其他操作系统只允许一定数量或一定种类的外部设备连接。而设备独立性的操作系统能够容纳任意种类及任意数量的设备,因为每一个设备都是通过其与内核的专用连接独立进行访问。
Linux是具有设备独立性的操作系统,它的内核具有高度适应能力,随着更多的程序员加入Linux编程,会有更多硬件设备加入到各种Linux内核和发行版本中。另外,由于用户可以免费得到Linux的内核源代码,因此,用户可以修改内核源代码,以便适应新增加的外部设备。
6.提供了丰富的网络功能
完善的内置网络是Linux的一大特点。Linux在通信和网络功能方面优于其他操作系统。其他操作系统不包含如此紧密地和内核结合在一起的连接网络的能力,也没有内置这些联网特性的灵活性。而Linux为用户提供了完善的、强大的网络功能。
支持Internet是其网络功能之一。Linux免费提供了大量支持Internet的软件,Internet是在Unix领域中建立并繁荣起来的,在这方面使用Linux是相当方便的,用户能用Linux与世界上的其他人通过Internet网络进行通信。
文件传输是其网络功能之二。用户能通过一些Linux命令完成内部信息或文件的传输。
远程访问是其网络功能之三。Linux不仅允许进行文件和程序的传输,它还为系统管理员和技术人员提供了访问其他系统的窗口。通过这种远程访问的功能,一位技术人员能够有效地为多个系统服务,即使那些系统位于相距很远的地方。
7.可靠的系统安全
Linux采取了许多安全技术措施,包括对读、写进行权限控制、带保护的子系统、审计跟踪、核心授权等,这为网络多用户环境中的用户提供了必要的安全保障。
8.良好的可移植性
可移植性是指将操作系统从一个平台转移到另一个平台使它仍然能按其自身的方式运行的能力。
Linux是一种可移植的操作系统,能够在从微型计算机到大型计算机的任何环境中和任何平台上运行。可移植性为运行Linux的不同计算机平台与其他任何机器进行准确而有效的通信提供了手段,不需要另外增加特殊的和昂贵的通信接口。
1.Linux 服务器
目前Linux服务器是当前最广泛的应用。
2004年,摩托罗拉计算机部和IBM合作开发和推广电信应用计算平台。
2002年,北京市东城区政府建立了基于Linux服务器平台的电子政务系统。
2003年8月,韩国国家航空公司和IBM公司联合发布声明,表示韩国航空公司将把该公司的核心业务移植到 IBM的eServer服务器当中完成,其中操作系统则采用Linux。
2.嵌入式Linux系统
2003年,摩托罗拉公司推出Linux平台的A760手机。并在近两年推出新款的Linux手机。
3.桌面应用
新版本的Linux系统特别在桌面应用方面进行了改进,达到相当的水平,完全可以作为一种集办公应用、 多媒体应用、网络应用等多方面功能于一体的图形界面操作系统。
3.1 samba的安装与配置
3.1.1 samba的安装:
rpm -qa|grep samba :查看是否安装有samba软件包
mount /dev/cdrom /mnt/cdrom :加载光盘。
rpm -ivh /mnt/cdrom/Server/samba-3.0.23c-2.i386.rpm :安装Samba服务器。
rpm ivh /mnt/cdrom/Server/system-config-samba-1.2.39-1.el5.noarch.rpm : 安装图形化的Samba服务器配置工具。
3.1.2 samba的配置:
添加samba用户
#smbpasswd -a share (密码设置为share123)
编辑配置文件
#gedit /etc/samba/smb.conf
内容:
[global]
workgroup = NET
security = user
[tmp]
comment = 公用共享目录
path = /tmp
writeable = yes
browseable = yes
guest ok = yes
[homes]
comment = Home Directories
browseable = no
writeable = yes
[share]
comment = share共享
path = /etc/share
writeable = yes
browseable = yes
valid users = share
测试配置文件是否正确: testparm
重启smb服务: service smb restart
3.2 DNS的安装与配置
3.2.1 DNS的安装:
1.rpm -qa|grep bind :查看是否安装有bind软件包
2.mount /dev/cdrom /mnt/cdrom :加载光盘。
3.rpm -ivh /mnt/cdrom/Server/bind-9.3.3-7.el5.i386.rpm :安装DNS服务器。
4.rpm -ivh /mnt/cdrom/Server/bind-chroot-9.3.3-7.el5.i386.rpm :安装Chroot 软件包。
3.2.2 DNS的配置:
修改etc/sysconfig/network-scripts/ifcfg-eth0
设置静态IP,修改后文件内容:
#Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth0
BOOTPROTO=none
HWADDR=00:0C:29:83:94:06
ONBOOT=yes
DHCP_HOSTNAME=student
IPADDR=192.168.1.3
NETMASK=255.255.255.0
GATEWAY=192.168.1.254
TYPE=Ethernet
USERCTL=no
IPV6INIT=no
PEERDNS=yes
b.设置动态IP,修改后文件内容:
#Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth0
BOOTPROTO=dhcp
HWADDR=00:0C:29:83:94:06
ONBOOT=yes
DHCP_HOSTNAME=student
TYPE=Ethernet
USERCTL=no
IPV6INIT=no
PEERDNS=yes
2.激活网卡: service network restart
3.设置主机名:gedit /etc/sysconfig/network
NETWORKING =yes
NETWORKING_IPV6=yes
HOSTNAME =student
设置DNS:gedit /etc/resolv.conf ,将DNS改为本机DNS。
3.3 WWW的安装与配置
3.3.1 WWW的安装:
1.rpm -qa|grep apr :查看是否安装有apr软件包
2.mount /dev/cdrom /mnt/cdrom :加载光盘。
3.rpm -ivh /mnt/cdrom/Server/postgresql-libs-8.1.4-1.1.i386.rpm安装 postgresql类库软件包。
4.rpm -ivh /mnt/cdrom/Server/apr-1.2.7-11.i386.rpm :安装Apache服务器的运行 类库apr软件包。
5.rpm -ivh /mnt/cdrom/Server/apr-util-1.2.7-6.i386.rpm :安装Apache服务器 的运行apr的工具软件包。
6.rpm -ivh /mnt/cdrom/Server/httpd-2.2.3-6.el5.i386.rpm :安装Apache软件包。
3.3.2 www服务的配置:
设置认证用户:htpasswd -c /var/www/usepass student
设置var/www/html/file 目录中所有网页文件只允许认证用户访问
用mkdir命令在/var/www/html目录下创建file目录。
创建或复制一个index.html文件,并放到file目录。
用文本编辑器打开配置文件/etc/httpd/conf/httpd.conf,修改如下:
Directory "/var/www/html/file"
AllowOverride None
AuthName "share web"
AuthType Basic
AuthUserFile /var/www/userpass
Require valid-user
/Directory
用“service httpd restart”命令重启httpd服务。
3.4 ftp的安装与配置
3.4.1 vsftp的安装:
1.rpm -qa|grep vsftpd :查看是否安装有vsftpd软件包
2.mount /dev/cdrom /mnt/cdrom :加载光盘。
3.rpm -ivh /mnt/cdrom/Server/vsftpd-2.0.5-10.el5.i386.rpm:安装 vsftpd软件包。
3.3.2 vsftpd服务的配置:
指定ip地址(指定192.168.1.*)网段才能访问FTP服务器。
用文本编辑器打开/etc/hosts.allow文件,加入"vsftpd : 192.168.1.* :allow"语句。
用文本编辑器打开/etc/hosts.deny文件,加入"vsftpd : ALL : DENY"语句。
设置匿名用户的权限
用文本编辑器打开/etc/vsftpd/vsftpd.conf 文件进行编辑,设置只允许匿名用户登录。内容如下:
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
connect_from_port_20=YES
listen=YES
tcp_wrappers=YES
匿名用户可以在/var/ftp/pub目录中新建目录、上传和下载文件。
#cd /var/ftp
#chmod 777 pub
c.输入“service vsftpd restart”命令,重启vsftpd服务。
3.指定本地用户student只能登录主目录。
修改/etc/vsftpd/vsftpd.conf,去掉chroot_list_enable=YES和chroot_list_file=/etc/vsftpd/chroot_list前面的“#”即可。
输入命令“groupadd ftpgroup”增加组“ftpgroup”。
输入命令“useradd -g ftpgroup -d /dir/to -M shanghai”增加用户。
输入命令“passwd shanghai”设置用户命令,输入“123456”。
编辑文件“/etc/vsftpd/chroot_list”,加入用户“shanghai”。
重新启动vsftpd服务。
4.禁止本地用户core 登录FTP服务器。
编辑/etc/vsftpd/ftpusers文件,将禁止登录的用户名“core”写入ftpusers文件中。
编辑/etc/vsftpd/user_list文件,将禁止登录的用户名“core”写入user_list文件中。
编辑/etc/vsftpd.conf文件,设置“userlist_enable=YES”和“userlist_deny=YES”,使用户“core”不能访问FTP服务器。
5.其他设置。
a.设置欢迎信息:编辑vsftpd.conf ,将#ftpd_banner=Welcome to blah FTP server 前面的“#”去掉即可。
b.限制文件传输速度:编辑vsftpd.conf ,直接添加“anon_max_rate=30000”和
“local_max_rate=60000”配置语句。
c.重启vsftpd服务:输入“service vsftpd restart”命令重启vsftpd服务。
误信息:“0X????????指令引用的0x00000000内存,该内存不能为read或written”,然后应用程序被关闭。如果去请教一些“高手”,得到的回答往往是“Windows就是这样不稳定”之类的义愤和不屑。其实,这个错误并不一定是Windows不稳定造成的。本文就来简单分析这种错误的常见原因。
一、应用程序没有检查内存分配失败
程序需要一块内存用以保存数据时,就需要调用操作系统提供的“功能函数”来申请,如果内存分配成功,函数就会将所新开辟的内存区地址返回给应用程序,应用程序就可以通过这个地址使用这块内存。这就是“动态内存分配”,内存地址也就是编程中的“指针”。
内存不是永远都招之即来、用之不尽的,有时候内存分配也会失败。当分配失败时系统函数会返回一个0值,这时返回值“0”已不表示新启用的指针,而是系统向应用程序发出的一个通知,告知出现了错误。作为应用程序,在每一次申请内存
后都应该检查返回值是否为0,如果是,则意味着出现了故障,应该采取一些措施挽救,这就增强了程序的“健壮性”。
若应用程序没有检查这个错误,它就会按照“思维惯性”认为这个值是给它分配的可用指针,继续在之后的运行中使用这块内存。真正的0地址内存区保存的是计算机系统中最重要的“中断描述符表”,绝对不允许应用程序使用。在没有保护机制的操作系统下(如DOS),写数据到这个地址会导致立即死机,而在健壮的操作系统中,如Windows等,这个操作会马上被系统的保护机制捕获,其结果就是由操作系统强行关闭出错的应用程序,以防止其错误扩大。这时候,就会出现上述的“写内存”错误
,并指出被引用的内存地址为“0x00000000”。
内存分配失败故障的原因很多,内存不够、系统函数的版本不匹配等都可能有影响。因此,这种分配失败多见于操作系统使用很长时间后,安装了多种应用程序(包括无意中“安装”的病毒程序),更改了大量的系统参数和系统文件之后。
二、应用程序由于自身BUG引用了不正常的内存指针
在使用动态分配的应用程序中,有时会有这样的情况出现:程序试图读写一块“应该可用”的内存,但不知为什么,这个预料中可用的指针已经失效了。有可能是“忘记了”向操作系统要求分配,也可能是程序自己在某个时候已经注销了这块内存而“没有留意”等等。注销了的内存被系统回收,其访问权已经不属于该应用程序,因此读写操作也同样会触发系统的保护机制,企图“违法”的程序唯一的下场就是被操作终止运行,回收全部资源。计算机世界的法律还是要比人类有效和严厉得多啊!
像这样的情况都属于程序自身的BUG,你往往可在特定的操作顺序下重现错误。无效指针不一定总是0,因此错误提示中的
内存地址也不一定为“0x00000000”,而是其他随机数字。
如果系统经常有所提到的错误提示,下面的建议可能会有帮助:
1.查看系统中是否有木马或病毒。这类程序为了控制系统往往不负责任地修改系统,从而导致操作系统异常。平常应加强信息安全意识,对来源不明的可执行程序绝不好奇。
2.更新操作系统,让操作系统的安装程序重新拷贝正确版本的系统文件、修正系统参数。有时候操作系统本身也会有BUG,要注意安装官方发行的升级程序。
3.试用新版本的应用程序。