linux服务器的优点
Linux 内核设计的理念主要有这几个点:
MutiTask,多任务
SMP,对称多处理
ELF,可执行文件链接格式
Monolithic Kernel,宏内核
MutiTask
MutiTask 的意思是多任务,代表着 Linux 是一个多任务的操作系统。
任务意味着可以有多个任务同时执行,这里的「同时」可以是并发或并行:
对于单核 CPU 时,可以让每个任务执行一小段时间,时间到就切换另外一个任务,从宏观角度看,一段时间内执行了多个任务,这被称为并发。
对于多核 CPU 时,多个任务可以同时被不同核心的 CPU 同时执行,这被称为并行。
SMP
SMP 的意思是对称多处理,代表着每个 CPU 的地位是相等的,对资源的使用权限也是相同的,多个 CPU 共享同一个内存,每个 CPU 都可以访问完整的内存和硬件资源。
这个特点决定了 Linux 操作系统不会有某个 CPU 单独服务应用程序或内核程序,而是每个程序都可以被分配到任意一个 CPU 上被执行。
ELF
ELF 的意思是可执行文件链接格式,它是 Linux 操作系统中可执行文件的存储格式,你可以从下图看到它的结构:
ELF 文件格式
ELF 把文件分成了一个个分段,每一个段都有自己的作用,具体每个段的作用这里我就不详细说明了,感兴趣的同学可以去看《程序员的自我修养——链接、装载和库》这本书。
另外,ELF 文件有两种索引,Program header table 中记录了「运行时」所需的段,而 Section header table 记录了二进制文件中各个「段的首地址」。
那 ELF 文件怎么生成的呢?
我们编写的代码,首先通过「编译器」编译成汇编代码,接着通过「汇编器」变成目标代码,也就是目标文件,最后通过「链接器」把多个目标文件以及调用的各种函数库链接起来,形成一个可执行文件,也就是 ELF 文件。
那 ELF 文件是怎么被执行的呢?
执行 ELF 文件的时候,会通过「装载器」把 ELF 文件装载到内存里,CPU 读取内存中的指令和数据,于是程序就被执行起来了。
Monolithic Kernel
Monolithic Kernel 的意思是宏内核,Linux 内核架构就是宏内核,意味着 Linux 的内核是一个完整的可执行程序,且拥有最高的权限。
宏内核的特征是系统内核的所有模块,比如进程调度、内存管理、文件系统、设备驱动等,都运行在内核态。
不过,Linux 也实现了动态加载内核模块的功能,例如大部分设备驱动是以可加载模块的形式存在的,与内核其他模块解藕,让驱动开发和驱动加载更为方便、灵活。
你是要做方案呢,还是要方案的思路?
先提供思路给你吧:
一、要满足办公自动化的工作需求需要具备哪些条件,如系统支持、网络支持、软件支持、硬件 支持等等。
二、拓朴规划就得看你是局域网还是跨区域的了,如果是局域网,那就是一些简单的拓朴,这个不说,跨区域需要用到***及一些较复杂的网络技术。
三、服务器的规划(服务器群组),服务器群组的架设搭建规划,需要实现哪些功能,如DHCP服务器只实现动态IP,和DNS服务器是否能集成在一起,WEB服务器和EMAIL服务器等是否可集成在一起等。
四、服务器的配置,也就是实现服务器功能的一些标准
五、应用linux做的服务器实现的价值
如果给老板看的话,前四条是废话,第五条是重点。
1开始说明
本教程中使用的IP地址是1921680100,主机名称为Server1examplecom 这些设置可能会有所不同,你需要根据不同情况进行修改。
CentOS 62下安装MySQL
2开始安装MySQL5
首先我们应该先用下面的命令安装MySQL:
yum install mysql mysql-server
然后我们需要创建MySQL系统的启动键链接启动MySQL服务器,这样以便于MySQL在系统启动时自动启动
chkconfig --levels 235 mysqld on
/etc/initd/mysqld start
为MySQL root帐户设置密码:
mysql_secure_installation
会出现下面的一系列提示:
root@server1 ~]# mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MySQL to secure it, we'll need the current
password for the root user If you've just installed MySQL, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here
Enter current password for root (enter for none):
OK, successfully used password, moving on
Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation
Set root password [Y/n] <-- ENTER
New password: <-- yourrootsqlpassword
Re-enter new password: <-- yourrootsqlpassword
Password updated successfully!
Reloading privilege tables
Success!
By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them This is intended only for testing, and to make the installation
go a bit smoother You should remove them before moving into a
production environment
Remove anonymous users [Y/n] <-- ENTER
Success!
Normally, root should only be allowed to connect from 'localhost' This
ensures that someone cannot guess at the root password from the network
Disallow root login remotely [Y/n] <-- ENTER
Success!
By default, MySQL comes with a database named 'test' that anyone can
access This is also intended only for testing, and should be removed
before moving into a production environment
Remove test database and access to it [Y/n] <-- ENTER
- Dropping test database
Success!
- Removing privileges on test database
Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately
Reload privilege tables now [Y/n] <-- ENTER
Success!
Cleaning up
All done! If you've completed all of the above steps, your MySQL
installation should now be secure
Thanks for using MySQL!
[root@server1 ~]#
CentOS 62下安装Apache
3安装阿帕奇2
Apache2的是作为一个CentOS的软件包,因此我们可以直接用下面命令安装它:
yum install httpd
现在配置系统在引导时启动Apache
chkconfig --levels 235 httpd on
并启动Apache
/etc/initd/httpd start
现在,您的浏览器到http://1921680100,你应该看到Apache2的测试页:
Apache 2测试网页
Apache的默认文档根目录是在CentOS上的/var/www/html 目录 ,配置文件是/etc/httpd/conf/httpdconf。配置存储在的/etc/httpd/confd/目录。
4安装PHP5
我们可以用下面的命令来安装PHP5
yum install php
安装完需要重启
/etc/initd/httpd restart
CentOS 62下安装PHP5
5我们可以安装PHP5和Apache的PHP5的模块如下:
默认网站的文件根目录是在/srv/www/html中。现在我们将在该目录中创建一个小型PHP文件(infophp的)在浏览器中调用它。该文件将显示很多关于我们的PHP安装,如安装的PHP版本和有用的一些细节。
vi /var/www/html/infophp
修改细节
现在,我们可以用浏览器访问例如http://1921680100/infophp文件
PHP页面
正如你所看到的,PHP5的工作,它通过Apache 20的处理程序,在服务器API线。如果你继续向下滚动,你会看到所有在PHP5中已经启用的模块。MySQL是没有列出,这意味着我们没有在PHP5支持MySQL。
6PHP5获得MySOL的支持
让PHP在MySQL中获得支持,我们可以安装的php-mysql软件包。安装一些其他的PHP5模块,以及您可能需要的应用程序,这是一个好主意:
yum search php
还安装需要安装的
yum install php-mysql php-gd php-imap php-ldap php-mbstring php-odbc php-pear php-xml php-xmlrpc
现在重新启动Apache2的:
/etc/initd/httpd restart
现在,重载http://1921680100/infophp在您的浏览器,并再次向下滚动到模块部分。现在,你应该找到许多新的模块,包括MySQL模块:
MySQL页面
CentOS 62下安装phpMyAdmin
7安装phpMyAdmin
phpMyAdmin是一个网络接口,通过它可以管理你的MySQL数据库。
首先,我们使CentOS系统RPMForge软件库的phpMyAdmin,而不是官方的CentOS 62库:
所以需要导入RPMForge的GPG密钥:
rpm --import http://dagwieerscom/rpm/packages/RPM-GPG-KEYdagtxt
x86_64系统:
yum install http://pkgsrepoforgeorg/rpmforge-release/rpmforge-release-052-2el6rfx86_64rpm
在i386系统:
yum install http://pkgsrepoforgeorg/rpmforge-release/rpmforge-release-052-2el6rfi686rpm
安装phpmyadmin
yum install phpmyadmin
现在我们可以设置phpMyAdmin,了我们可以改变Apache的配置来让phpMyAdmin不仅仅只能从localhost登录。
vi /etc/httpd/confd/phpmyadminconf
配置
下一步,我们从HTTP改变的phpMyAdmin的cookie来身份验证:
vi /usr/share/phpmyadmin/configincphp
修改身份验证
重启阿帕奇
/etc/initd/httpd restart
在地址栏输入http://1921680100/phpMyAdmin/:你就可以访问phpMyAdmin了。
phpmyadmin页面
CentOS可以得到RHEL的所有功能,甚至是更好的软件。但CentOS并不向用户提供商业支持,当然也不负上任何商业责任。
如果你要将你的RHEL转到CentOS上,因为不希望为RHEL升级而付费。当然,你必须有丰富linux使用经验,因此RHEL的商业技术支持对你来说并不重要。但如果你是单纯的业务型企业,那么还是建议你选购RHEL软件并购买相应服务。这样可以节省你的IT管理费用,并可得到专业服务。
Linux服务器优势1:良好的稳定性
Linux内核的源代码是以标准规范的32位(在64位CPU上是64位)的计算机来做的最佳化设计,可确保其系统的稳定性。正因为Linux的稳定,才使得一些安装Linux的主机像Unix机一样常年不关而不曾宕机。
Linux服务器优势2:丰富的软件支持
与其他的操作系统不同的是,安装了Linux系统后,用户常用的一些办公软件、图形处理工具、多媒体播放软件和网络工具等都已无需安装。而对于程序开发人员来说,Linux更是一个很好的操作平台,在Linux的软件包中,包含了多种程序语言与开发工具,如g、、C、Tcl/Tk、Perl、Fortran77等。
Linux服务器优势3:可靠的安全性
Linux系统是一个具有先天病毒免疫能力的操作系统,很少受到病毒攻击。
对于一个开放式系统而言,在方便用户的同时,很可能存在安全隐患。不过,利用Linux自带防火墙、入侵检测和安全认证等工具,及时修补系统的漏洞,就能大大提高Linux系统的安全性,让黑客们无机可乘。
Linux服务器优势4:完善的网络功能
Linux内置了很丰富的免费网络服务器软件、数据库和网页的开发工具,如Apache、Sendmail、VSFtp、SSH、MySQL、PHP和JSP等。近年来,越来越多的企业看到了Linux的这些强大的功能,利用Linux担任全方位的网络服务器。
Linux服务器优势5:多用户多任务
和Unix系统一样,Linux系统是一个真正的多用户多任务的操作系统。多个用户可以各自拥有和使用系统资源,即每个用户对自己的资源(例如:文件、设备)有特定的权限,互不影响,同时多个用户可以在同一时间以网络联机的方式使用计算机系统。多任务是现代计算机的最主要的一个特点,由于Linux系统调度每一个进程是平等地访问处理器的,所以它能同时执行多个程序,而且各个程序的运行是互相独立的。
Linux服务器优势6:跨平台的硬件支持
由于Linux的内核大部分是用C语言编写的,并采用了可移植的Unix标准应用程序接口,所以它支持如i386、Alpha、AMD和Sparc等系统平台,以及从个人电脑到大型主机,甚至包括嵌入式系统在内的各种硬件设备。
基于Linux的中小企业应用解决方案
网络结构
1硬件配置
各服务器:Intel x86系列的服务器。如:HP、Dell的微机服务器。如信息量访问较小的服务器,可用性能稳定的PC或与其他系统软件共用服务器。
终端:PC(奔腾级或更高)。
路由器可由Linux服务器替代。
2系统软件配置
根据信息的功能和任务,系统软件、应用软件及开发环境工具如下:
(1)操作系统
数据库服务器:TurboLinux Enterprise Server v60简体中文版;
Web及其他应用服务器:TurboLinux Enterprise Server v60 简体中文版;
各类访问终端:TurboLinux Workstation v60 简体中文版。
(2)数据库
在数据库选型中,可根据企业用户的实际情况。当该企业数据信息繁多、数量大、查询频繁时,可选择Oracle大型数据库:Oracle 8I的Linux版本。如果该企业信息量不大,并发查询量又不大,可选择MySQL数据库的Linux版本。
(3)Internet/Intranet基本网络服务
以下各项网络服务均基于TurboLinux平台:
Apache作为Web服务器;
Sendmail作为mail服务器;
Squid作为代理服务器;
OpenLdap作为用户验证服务器;
BIND-DNS name server(bind)作为DNS服务器;
GateD daemon for 20x kernels(gated)作为路由服务器。
(4) 终端访问工具
各个用户的PC终端通过TurboLinux平台上的NetScape浏览器访问数据信息。
(5)开发环境
基于TurboLinux平台的PHP脚本编程环境;
基于TurboLinux平台的JBuilder编程环境;
C/C++及TurboLinux平台的gcc编译器。
系统分析
经分析考虑,该企业的内部信息系统应建立在Intranet的架构基础上,集中存储、分类、管理企业的各种信息。具体实现如下:
1统一的网络平台:在遵循安全、稳定、开放、灵活等各项系统原则基础上,建立一套基于Linux平台的系统环境基础,实现整个内部网络系统与Internet的连接。
2在整体框架下,实现各项应用服务:企业内部信息Web访问;数据库服务等。
3针对企业的实际需求,在Linux系统平台上建立各信息应用子系统,例如:
生产信息管理子系统:及时采集生产部门的生产基本运行情况;原料准备和消耗状况、生产成本核算结果等。
库存管理子系统:包括货物的入库管理、出库管理、在库管理等基本内容。
销售管理子系统:收集各地的销售反馈信息,汇集企业销售产品的数据信息,为销售人员提供在线销售支持等。
OA子系统:建立内部信息交流和管理平台,实现人事管理、会议管理、设备管理等。
该系统方案中,实现了系统低成本、高性能、高稳定性的特点。系统中几乎所有的系统和应用软件都是免费的,并且这些软件的升级也是免费的,易于今后的维护和升级。企业用户不必为系统软件、应用服务软件支付大笔费用,从而减少了用户的建网费用。经过优化组合的系统软件,能够满足用户的实际需要,实现企业网络的高效运行。
http://www365technet/nix_Solutions/10672
Linux企业网络与专业网站构建
Linux服务器的安装
首先在分区的时候不要只图简单把所有的空间都留给根分区,应该把不同的部分放在不同的分区。强烈的建议您把"/var"和"/tmp"放在不同的分区,如果您的服务器有较多的用户访问,这几乎是您所必须做的。另外最好把"/var"和"/usr"放在不同的分区,这样可以避免由于日志或用户的原因是您的硬盘被占满或直接导致您的服务器性能降低。对分区的最后一点警告就是如果您要提供一种或多种服务,一定要把这个服务有关的东西放在单独一个分区,例如:您如果要建一台WWW服务器,您在分区时候一定要留一个单独的分区(例如:"/www"),将来您可以用chroot提高这种服务的安全性。
另外一个重要的问题是安装时软件包的选择。我们用Redhat作为例子,出于安全和性能的考虑,您必须选择"Select individual package"单选框,这样您就可以进行软件包的选择。有些软件是您不必安装的,有些软件是安装后必须卸载的,有些是安装后必须安装的。我们下面给出清单:
http://wwwibmcom/developerworks/cn/linux/security/l-ossec/part1/indexhtml
Linux系统构建企业网络的各种服务器,其中包括:web服器,mail服务器,ftp服务器,与 samba文件系统、webmin服务器以及企业域名(DNS)服务器。上面这些服务器许多都包含了平台,可以方便的安装
效果截图
Sendmail :sendmail 是最古老的 MTA(Mail Transfer Agent,电子邮件系统)之一,最早它诞生的时候,Internet 还没有被标准化,当时主机之间使用的是 UUCP 技术来交换邮件。它被设计得比较灵活,便于配置和运行于各种类型的机器。
Qmail :qmail 是新生一代的 MTA 代表,它以速度快、体积小、易配置安装等特性而著称。作者 DJBernstein 是一个数学教授,富有传奇色彩。他于 1995 年开发 qmail,1996 年发布 070 版,并使用了多种当时比较先进的 技术,包括 Maildir,与 sendmail 单个 binary 不同的模块化设计,权限分离,以及使用了大量由他编写的配套工具,如 daemontool,ucsip-tcp 等。qmai迅速成为了 Internet 上最有名的 MTA,使用者众。
postfix :postfix如今已经独树一帜,流水线、模块化的设计,兼顾了效率和功能。灵活的配置和扩展,使得配置 postfix 变得富有趣味。其主要的特点是速度快、稳定,而且配置/功能非常强大,并和 sendmail 类似,提供了与外部程序对接的 API/protocol。尤其是配置部分,postfix 另一个优势是至今依然保持活跃的开发工作,而且稳步发展,适合高流量大负载的系统,扩充能力较强。本实验也是基于 postfix 服务器软件来实现。
邮件服务器基本的工作原理
MUA(Mail User Agent):向外发送邮件,以及提供用户浏览与编写邮件的功能。
MTA(Mail Transfer Agent):(可以理解为 smtpd 服务器)帮忙将用户的邮件传递出去或接收进来。
MDA(Mail Delivery Agent):将接收下来的邮件存放到对应用户邮筒当中的程序。通过分析 MTA 所收到邮件的表头或内容,来判断此邮件是属于哪个用户,然后决定将此邮件投递给哪个用户的邮筒里。
MRA(Mail Retrieval Agent):通过 MRA 服务器提供的邮政服务协议(POP)来接收自己的邮件。
邮件中继:
SMTPD 要支持邮件路由功能,需要打开 Open Relay 开放式中继。
SMTPD 是根据收件人判断邮件是否需要中继,而且只给指定的客户端中继。
注:当 DNS 上存在多个 MX 记录的主机这时就是根据 DNS 的邮件级判断了。DNS 上定义的值越小,其优先级越高。辅助交换器接受到邮件并不能保存邮件。而是这个辅助交换器会等到主邮件交换器空闲的时候把代替它接受下来的邮件在转给主邮件交换器。所以任何邮件处理都是主邮件交换器处理的。所以我们实际情况下,如果有 2 台服务器做邮件交换器,性能比较高的应该为主的。
安装配置过程中,postfix 通过 Internet 发送和接收 email,并存储在用户邮箱里。同时客户也可以通过 IMAP 或者 POP3 恢复他们的邮件。其中的客户认证是通过 Courier Authdaemon 模块的。下图表示出了这个过程:
出现安装界面时,首先按下 <tab> 键切换到确定,然后按下回车。
安装 postfix 的时候会问你安装的服务器类型,对于我们的需要,我们选择默认的 Internet Site,这是最符合我们的服务器类型,然后按下回车确认。
使用 vim 编辑配置文件:
大概在第 31 行,编辑 myhostname,修改为 myhostname = shiyanloucom。
然后我们把 alias_map 参数修改为 alias_maps = hash:/etc/postfix/virtual,之后会讲解 virtual 里面填写什么。
之后设置 mynetworks 段落,它定义可以使用这台服务器的主机,我们这里就用默认的本地地址。你也可设置为其他地址。
编辑完成后按下 Esc 键,输入 :wq 保存退出。
此命令创建了一个用户 master,其中 -d 和 -m 选项用来为登录名 master 产生一个主目录 /usr/master(/usr 为默认的用户主目录所在的父目录)。
我们编写之前设置的 virtual文件,这些邮箱地址是用来传送邮件的。
在这个文件里,我们将设置一个表,对应相关的邮件地址。
完成后保存关闭文件。
我们可以通过调用下面这个命令来实现我们的映射:
接着我们重启 postfix,完成我们的修改:
我们可以用 shiyanlou 这个账号给 master 这个账号发一封邮件。首先我们需要安装一个命令行收发邮件的软件 mailutils 。
写一封邮件
输入如下内容:
其中 -s 参数是指邮件的标题,< 后面是将要发送的邮件内容从 hellotxt 中重定向。这个命令如果正确执行不会有输出。
然后我们切换到 master 用户,查看我们的邮件。
按下回车建可以查看邮件内容,输入 quit 即可退出邮箱。
Linux 邮件服务器原理介绍,编译安装 Postfix 实现本地的邮件服务
Ubuntu 服务器指南-邮件服务-Postfix
how-to-run-your-own-mail-server-with-mail-in-a-box-on-ubuntu-14-04
把apache的源码简化后抄呗, 呵呵。
基于linux的什么什么最好做了, 因为人家都做过,而且都有代码。。。
不过建议还是把RFC 2616仔细看一下, 应付答辩。
(可是现在是6月份了啊)
__
原因可能有很多, 你把出错的信息贴出来, 最好把日志文件里的出错信息也贴出来, php最好自己编译一个,出错的机会会小一些。
我要分干什么? 把出错信息mail给我吧。 chris8567@gmailcom
我想知道你这东西到底“云”在什么地方。
应该就是一个网络存储功能吧?类似 samba 、NFS 的东西?
如果是这样的话,无非就是做一个远程存取的服务器程序。不过既然传输限制 UDP 和 TCP 了,那么应该除了写服务器程序,还需要一个客户端程序,而不是用浏览器实现。
客户端可以发送命令操作服务器端的数据,比如删除、移动、重命名,这部分用UDP传输。文件的上传和下载部分,用UDP传输
那这程序基本的功能要求不就已经有了?
剩下的就是细节了。比如你说的这些服务,都是对外的公共服务云,那么这些东西就要分用户,用户都有自己的文件。而且用户还要加密码,不能随便的就让某个人访问。服务器和客户端之间如何进行用户身份识别和保持,都要考虑。这样你还需要考虑用户的管理功能,客户端还需要支持登录什么的。
把基本要求找到,剩下的非要求但是必须考虑的东西就可以看情况了。比如你这个客户端做成字符界面程序,还是图形界面?服务器端那里文件怎么储存,用户账户如何存储增加减少。
0条评论