Linux服务器环境(LAMP架构)搭建
1.1 说明
LAMP(Linux+Apache+MySQL+PHP)网站架构几乎是目前国际最流行的Web框架,该框架包括:Linux操作系统(OS),Apache网络服务器(Web Server),MySQL数据库(Databse),PHP(Perl或者Python)编程语言,所有组成产品均是开源软件,是国际上成熟的架构框架,很多流行的商业应用都是采取这个架构,和Java/J2EE架构相比,LAMP具有Web资源丰富、轻量、快速开发等特点,微软的.NET架构相比,LAMP具有通用、跨平台、高性能、低价格的优势,因此LAMP无论是性能、质量还是价格都是企业搭建网站的首选平台。
1.2 Linux操作系统安装
如果你是从类似阿里云(http://www.aliyun.com/)这样的主机供应商购买租用服务器的话,一般主机供应商已经为你装好操作系统了,购买时选择即可。如果是,你可以直接跳到下一个部分。
Linux操作系统发行版多样化,如:
- RedHat Enterprise Linux Server(红帽)
- SUSE Linux Enterprise Server
- Debian
- Ubuntu
- CentOS
每个发行版都有自己的特色,不过RHEL和SUSE LE等企业版,提供的升级服务均是收费升级,无法免费在线升级,以及其他收费,总而言之,就是免费使用,服务收费。他们的安装过程也大同小异。这里我们以完全免费,易用的Ubuntu为例,大致过程如下:
1. 下载操作系统的ISO文件,建议选LTS(长期支持版本)。下载地址:http://www.ubuntu.com.cn/download/server
2. 将镜像文件烧至光盘,插入,从CD-ROM启动机器。
3. 根据安装提示一步一步设置,包括设置系统语言,时区,网络,用户名,密码等等。
4. 安装完毕。
更多细节可以参考Ubuntu wiki。http://wiki.ubuntu.hk/w/Install_Ubuntu_server
1.3 LAMP server安装
由于LAMP架构的广泛使用,多种工具都能实现一键安装。
如果你是遵从上文自己亲手安装的Ubuntu操作系统的话,在安装完基本系统(base system)后,系统会自动询问需要安装哪些软件,你可以直接从中选择LAMP server。如图:
当然,LAMP server环境也有多种独立安装方式。
1.3.1 命令行安装
Ubuntu让开发者很容易安装与配置LAMP,只需一条终端命令。输入命令行:
sudo apt-get install lamp-server^
apt软件包管理器现在会显示需要安装、等待确认的软件包。输入回车键,确认并继续安装。
1.3.2 通过下载XAMPP软件包安装
XAMPP是Apache Friends的一个非盈利项目,开发者可以通过一键安装XAMPP实现同时安装Apache, MySQL, PHP & PEAR, Perl, ProFTPD, phpMyAdmin, OpenSSL等组件。
不过XAMPP安装后不太安全,普通用户使用默认密码就可以访问其Web管理页面,修改数据库,所以还需要再配置一下。
XAMPP官方简体中文主页:http://www.apachefriends.org/zh_cn/index.html
1.3.3 独立安装
如果你认为有这个必要,你可以通过单独下载安装Apache,MySQL以及PHP。
- Apache http://httpd.apache.org/download.cgi
- MySQL http://dev.mysql.com/downloads/
- PHP http://php.net/downloads.php
1.3.4 PhpMyAdmin
不得不提的是,除非你是一个MySQL奇才,否则必然离不开PhpMyAdmin。它是一款架设在服务器上的MySQL的数据库管理工具,可以让开发者通过Web接口直接管理MySQL数据库,已经成为管理MySQL必不可少的工具。上文提到的XAMPP软件包中已经集成了PhpMyAdmin,Ubuntu单独安装:
sudo apt-get install phpmyadmin
当然,你也可以从其官方网站获取:http://www.phpmyadmin.net/home_page/index.php
1.4 新秀nginx
Apache是LAMP架构最核心的Web Server,开源、稳定、模块丰富。但Apache的缺点是有些臃肿,内存和CPU开销大,性能上有损耗,不如一些轻量级的Web服务器(例如Nginx)高效,轻量级的Web服务器对于静态文件的响应能力来说远高于Apache服务器。
所以近几年LNMP架构越来越流行,其中N就是指Nginx。
但这并不意味着Nginx可以完全取代Apache。Apache做为Web Server是负载PHP的最佳选择,如果流量很大的话,可以采用Nginx来负载非PHP的Web请求。Nginx是一个高性能的HTTP和反向代理服务器,以丰富的功能集和低系统资源的消耗而闻名。Nginx不支持PHP和CGI等动态语言,但支持负载均衡和容错。
所以,你的网站并发量高的话,可以用Nginx与Apache一前一后配合使用。
关于Nginx请参考:http://nginx.org/