版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实战部署基于 Linux 平台的 WEB 服务器(MySQL+Apache+GD+PHP+Zend+来源: ChinaUnix博客 日期: 2006.09.03 16:44(共有0条评论) 我要评论 学习 Linux 总是断断续续,没有完全钻进去好好学。前段时间一个朋友找我帮忙部署 Postfix 邮件系统,我便意识到了技术方面的落后,虽然 Windows 平台的应用系统部署相对简易而且便于维护,可是他的授权费用却很高,一般要使用 Windows 平台搭建一个网站服务器需要几万块的授权费用,而使用 Linux 授权费用等于零,唯一需要支付的费用就是技术支持,如果外包部署那么此时才产生
2、高昂的费用但还是远比 Windows 低,朋友找我部署 postfix 邮件服务器的费用是6500最低4000,感觉已经是一笔不小的收益了。虽然后来没能把活接下来,但是决定开始正式学习 Linux。入门真的是很艰苦,要摆脱 Windows 的操作理念,只能用一个字形容:“累”!为了找到问题,钻透故障就必须重复重复的安装和配置,已经记不得 Linux 被我安装了多少遍,配置了多少遍,而且还安装过很多发行版。VMwareGSX 真的是帮了我很大的忙,之所以选择 GSX 版本是因为他可以在后台运行,而且没有磁盘写延迟比 WKS 版稳定的要多很多,唯一遗憾的就是不支持差异盘,只能使用快照!
3、 经过了半个月的学习、实验总算是入门 Linux 了。第一个感觉就是如果把 Linux 搞好,以后的安装完全可以通过远程来做,而且只需要在 putty 上通过复制粘贴就能轻松灌出一个系统并配置好,不过前期的学习中还是要积极地自己敲命令,这样才能加深印象! 我的学习实验主要以部署自己的网站服务器为蓝本,因为我喜欢 MySQL 喜欢 PHP,他们不但支持跨平台,而且功能、安全、性能、资源方面我都认为是比较好的。经过了多次反复的实验最终完成了部署,现在讲实战经过备忘下来,以后一定能用的上!此次部署网站服务器设计到
4、的软件: 1Redhat Linux Fedora4 2Apache-2.0.55 3MySQL-4.4.15 4Zlib-1.2.2 5Freetype-2.1.5 6Libpng-1.2.5 7Jpegsrc.v6b 8GD-2.0.33 9GetText-0.12.110ImageMagick-6.2.5-511Imagick-0.9.8.tgz12PHP-4.3.1013ZendOptimi
5、zer-2.6.0Linux的安装部署 Linux 的安装到目前为止已经非常简单了,因为此次部署主要用途是网站应用,所以我打算只安装基础核心和开发工具,这样不但节省了硬盘空间还可以自己学习如何编译、安装、配置程序,况且网站也不需要那么多功能,只要在终端界面下操作就可以。为了能够在终端下显示正常,我默认编码选择的是英文并附加了中文支持,使用的是自动分区,组件中只选择了终端下的服务器配置工具和开发工具大概总容量在 1.3G 左右。 Linux 安装后,停掉不需要的服务,关于 Linux 服务的资料可
6、以参考:MySQL 的安装配置 MySQL我是非常认可的数据库服务器之一,我属于微软阵营但是对微软的 ASP 和 SQL2000 真的不敢恭维,所以最终我的个人网站选择了以 PHP+MySQL 为核心的架构,MySQL 不但免费而且他支持手工安装,这样是非常灵活的,因为在系统重新部署后我可以很轻易的恢复之前的 MySQL。安装步骤:代码groupadd mysql useradd mysql -g mysqltar zxvf mysql-4.4.15.tar.gz./configure -prefix=/usr/local/mysql -wit
7、h-charset=gbkmakemake installscripts/mysql_install_db -user=mysqlchown -R root .chown -R mysql varchgrp -R mysql .cp support-files/my-f /etc/f(cp /usr/local/mysql/share/mysql/mysql.server /usr/local/mysql/share/mysql/mysqldchmod a+x /usr/local/mysql/share/mysql/mysqld)小注:在启动MySQL服务前我先修改f配
8、置文件,添加 old_password 参数,这样可以避免修改root密码后,phpmyadmin无法访问MySQL数据库,不过我的做法通常都是在phpmyadmin可以使用后再去修改root帐号的密码,这样更安全!毕竟我是Linux新手,一些达人的解决方法我看着头晕!/usr/local/mysql/share/mysql/mysqld start或/usr/local/mysql/bin/mysqld_safe -user=mysql &/usr/local/mysql/bin/mysqladmin -u root -p password 'new_password'
9、;MySQL 的两种自启动方式:第一种方式:将 MySQL 作为服务,当系统启动时自动加载此服务并自动运行,我个人喜欢这种方式,因为在开机的时候就可以看到 MySQL 是否正常启动。实现方法:代码cp /usr/local/mysql/share/mysql/mysql.server /etc/rc.d/init.d/mysqld cd /etc/rc.d/init.dchkconfig -add mysqldntsysv第二种方式:将 MySQL 作为批处理方式自动运行。实现方式:代码vi /etc/rc.d/rc.local /usr/local/mysql/share/mysql/mys
10、qld start注:FreeBSD下则为:代码#ee /etc/rc.conf #mysql_enable="YES" 至此,MySQL 的安装和配置就完成了,感觉还是很简单的!不过他的编译过程真的好慢估计跟我的虚拟机配置有关,希望有一天我能在实体机上真正应用!Apache 的安装配置 Apache 全球性能卓越的开源 web 服务器,市场占有率最高!很多大型门户网站都在使用它。之前我选择的是1.0.33版本后来发现编译很麻烦,后来选择2.22.0版朋友又说版本太高不适合我
11、,最后我选择了2.0.55。因为要支持 PHP 所以找了很多安装配置资料查编译参数,后来以网上一篇 Blog 为基础实现了适合自己的编译安装。代码tar zxvf httpd-2.0.55.tar.gz ./configure -prefix=/usr/local/apache -with-mysql=/usr/local/mysql -enable-track-vars -enable-cgi -enable-so -enable-mods-shared=all -enable-xml -enable-module=rewrite -with-config-file-path=/usr/lo
12、cal/apache/confmakemake installApache的两种自启动方式:第一种方式:将Apache以服务方式自运行,这个方法最终还是从 Discuz 官方论坛上找到的,当时找到并实验成功后,那叫兴奋!呵呵,谁叫俺是 Linux 菜鸟!实现方法:代码cp /usr/local/apache/bin/apachectl /etc/rc.d/init.d/httpd vi /etc/rc.d/init.d/httpd,在httpd文件的第三行下面,插入以下两句话:# chkconfig: 345 85 15# description: Starts and stops the A
13、pache HTTP Server.chmod +x /etc/rc.d/init.d/httpdchkconfig -add httpdchkconfig -list成功后,就可以用 service httpd start, service httpd restart, service httpd stop来启动、重启、和终止 httpd service。第二种方式:以批处理自动运行,实现方法:代码vi /etc/rc.d/rc.local /usr/local/apache/bin/apachectl start添加Apache启动命令。以上完成后就可以在浏览器里测试一下网站是不是可以打开
14、!GD 支持的安装配置 GD 的成功安装和使用还依赖其它的几个组件模块,所以在 GD 安装之前需要先安装好其它组件模块。为此,先建立模块的初始目录:代码mkdir /usr/local/modules mkdir /usr/local/modules/jpeg6mkdir /usr/local/modules/jpeg6/binmkdir /usr/local/modules/jpeg6/libmkdir /usr/local/modules/jpeg6/includemkdir /usr/local/modules/jpeg6/manmkdi
15、r /usr/local/modules/jpeg6/man/man1 之所以要建立 Jpeg6 的目录是因为在实际编译安装时如果不事先建立Jpeg6的根目录和子目录编译就会失败,郁闷!依照顺序安装 GD 的其它组件:A安装 Zlib代码tar xzvf zlib-1.2.2.tar.gz cd zlib-1.2.2./configuremakemake installB安装 Freetype代码tar xzvf freetype-2.1.5.tar.gz cd freetype-2.1.5./configure -prefix=/usr/lo
16、cal/modules/freetypemakemake installC安装 Libpng代码tar xzvf libpng-1.2.5.tar.gz cd libpng-1.2.5cp scripts/makefile.std makefilemake testmake installD安装 Jpeg6代码tar xzvf jpegsrc.v6b.tar.gz ./configure -prefix=/usr/local/modules/jpeg6 -enable-shared -enable-staticmakemake install开始安装 GD 支持代码tar xzvf gd-2.
17、0.33.tar.gz ./configure -prefix=/usr/local/modules/gd -with-jpeg=/usr/local/modules/jpeg6 -with-png -with-zlib -with-freetype=/usr/local/modules/freetypemakemake install 至此,GD 库的支持就算是完成了!PHP 的安装配置 此次的 PHP 安装,我加入了 gettext 组件和 ImageMagick 组件支持,如果不需要这两个
18、组件的话可以直接开始 PHP 的编译安装,而我的方式是:A安装gettext代码tar zxvf gettext-0.12.1.tar.gz ./configure -prefix=/usr/local/gettextmakemake installB安装ImageMagick 因为被很多PHP的相片程序需要这个组件并且都说此组件的功能更加强大,所以最终我决定在我的此次部署中安装它。ImageMagick的安装需要先编译安装一遍PHP得到phpize,之后将ImageMagick For PHP的API拷贝到PHP的源代码对应目录后再次编译安装
19、才能使PHP支持这个组件。为此我先安装的ImageMagick,之后编译安装PHP一遍得到phpize,执行准备工作,最后完成支持ImageMagick的PHP完整编译安装。代码tar zxvf ImageMagick-6.2.5-5.tar.gz cd ImageMagick-6.2.5./configure -prefix=/usr/local/ImageMagick -enable-shared -enable-lzw -enable-modulesmakemake installC第一次编译安装PHP(没有对ImageMagick的支持)代码tar xzvf php-4.3.10.ta
20、r.gz cd php-4.3.10./configure -prefix=/usr/local/php -with-gd=/usr/local/modules/gd -with-jpeg-dir=/usr/local/modules/jpeg6 -with-zlib -with-png -with-freetype-dir=/usr/local/modules/freetype -with-mysql=/usr/local/mysql -with-iconv -enable-mbstring -with-apxs2=/usr/local/apache/bin/apxs -with-gette
21、xt=/usr/local/gettext -enable-track-vars -enable-ftp -enable-safe-mode -enable-xml -enable-magic-quotes -disable-debug -with-config-file-path=/usr/local/php/etcmakemake install 小注:按照网上的按照资料,说是编译一次就可以得到phpize,可我执行phpize却提示无效命令,后来才知道phpize所在其它目录,并非像网上那样的操作!也正因此,我是完全编译安装PHP后才找到
22、phpize在/usr/local/php/bin目录下。D安装Imagick API For PHP代码在PHP源代码目录下执行mkdir ext/imagick 然后把imagick-0.9.8.tgz解压到ext/imagick目录下运行命令/usr/local/php/bin/phpizecd php源代码根目录rm configure./buildconf -forceE第二次编译安装PHP(加入了对Imagick的支持)代码cd php-4.3.10 ./configure -prefix=/usr/local/php -with-gd=/usr/local/modules/gd
23、-with-jpeg-dir=/usr/local/modules/jpeg6 -with-zlib -with-png -with-freetype-dir=/usr/local/modules/freetype -with-mysql=/usr/local/mysql -with-iconv -enable-mbstring -with-apxs2=/usr/local/apache/bin/apxs -with-gettext=/usr/local/gettext -with-imagick=/usr/local/ImageMagick -enable-track-vars -enabl
24、e-ftp -enable-safe-mode -enable-xml -enable-magic-quotes -disable-debug -with-config-file-path=/usr/local/php/etcmakemake installcp php.ini-dist /usr/local/php/etc/php.ini 至此,完成了PHP的编译安装,下来对php.ini文件作修改,以满足需要!使Apache支持PHP及CGI 上面的工作全部完成后,还没有真正完成,因为此时的Apache还无法解释PHP和CGI语言,所以要对Apache的配置文件httpd.conf作一下修改才能实现解释PHP和CGI:A添加对PHP的支持:代码查找AddType application/x-tar .tgz ,也就是关于AddType的配置行,在下面添加 AddType application/x-httpd-php .php AddType application/x-httpd-php .php3 AddType application/x-httpd-php .phtml AddType application/x-httpd-php-source .phps 找到Dire
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房屋拆迁承诺书(3篇)
- 幼儿园卫生管理组织及制度
- 暑假安全教育主题班会课件(7篇)
- 高三毕业典礼演讲稿500字(30篇)
- 高层住宅施工组织设计方案
- P-30B耙斗装岩机操作要领
- 课件用什么模板
- 古诗文系列课件模板-卖炭翁
- 公司三级安全培训试题及参考答案(培优A卷)
- 2022新苏教版五年级下册科学《发霉与防霉》教学设计
- 抖音直播商业模式研究5000字【(论文)】
- 《深刻理解和把握“两个结合”》全文PPT
- 固体酸催化材料1:多金属氧酸盐
- 担保公司业务流程图
- 2023太阳能光热发电吸热塔消能减振
- 湖南省2023年对口高考计算机应用类专业考试大纲
- 2023年特种设备(承压类)生产单位安全风险管控(日管控、周排查、月调度)清单
- 江苏省2021-2022学年高二下学期高中合格考试信息技术试题十二套(含答案解析)
- 向幼儿园介绍小学的生活学习习惯和校园
- 低压电工作业实际操作科目三演示文稿
- 苏州园区体检报告 模板
评论
0/150
提交评论