Chinaunix首页 | 论坛 | 博客
  • 博客访问: 457852
  • 博文数量: 97
  • 博客积分: 1552
  • 博客等级: 上尉
  • 技术积分: 1091
  • 用 户 组: 普通用户
  • 注册时间: 2012-05-17 17:05
个人简介

专注于大规模运维场景运维工具解决方案。欢迎有这方面兴趣的朋友跟我联系。

文章分类

全部博文(97)

文章存档

2014年(12)

2013年(25)

2012年(60)

我的朋友

分类: 系统运维

2014-02-23 20:41:42

原计划是想把LAMP、LNMP优劣对比之后再写的,但是由于现在时间有限而且也没那么多机器,所以计划以后再推出优劣对比。

两大类操作系统分别用Ubuntu跟Centos作为代表。其中Ubuntu用12.04,Centos因为情况比较特殊所以分别选定Centsos5.8以及Centos6.3两个版本作为讲解。
教程中的所有命令都是文字形式,便于大家直接复制粘贴。所有的命令我都会测试,确保一切无误。
本篇教程的目的是让大家了解如何从零开始架设LAMP、LNMP以及通过让大家了解最基础的安装方式后对各种一键安装包能有更深的认识,可以自行解决一些基本的问题。同时也希望起到一个抛砖引玉的作用,希望可以有人写出更好更完善的教程来帮助大家使用Linux。

LAMP、LNMP部署并没有先后之分,所以我依照Mysql、PHP、Apache(Nginx)的顺序来写,因为Apache(Nginx)相对来说会复杂一点。
软件的安装方式统一为走APT、yum包管理器,教程中不会出现自行编译源代码等内容,确保大家只要云服务器一买来就可以按照教程中的内容顺利走下去,哪怕是直接复制粘贴相关命令行。对于安装中涉及到的软件包我会一一说明作用,帮助大家认识整个LAMP、LNMP的软件架构。
本教程是系列教程中的第一步,仅涉及到最基础的安装,任何配置文件修改不在本教程的包含范围内。因为涉及系统众多,需要针对不同环境来写,所以具体配置文件修改会在以后慢慢放出,请大家敬请关注。
一、Mysql的安装

Ubuntu:

Mysql安装涉及到的软件包:
mysql-server:Mysql服务器核心程序,服务器端主程序。 
mysql-client:Mysql客户端,用以通过命令行方式登录管理Mysql服务器。
mysql-common:Mysql核心库文件,包含了运行Mysql必备的基本文件。


安装命令:


apt-get install mysql-client mysql-common mysql-server


命令解释:


apt-get install的意思为安装软件,在之后跟随软件名称即可。
同时apt-get通过搭配不同参数还有完成系统自动清理,写在软件包,升级软件等操作,在以后会给大家慢慢讲解。


Centos 5.8:


Mysql安装涉及软件包:


mysql:包含了客户端以及必需的一些基础库文件。
mysql-server:Mysql服务器端以及相关文件。


安装命令:


yum install mysql mysql-server


命令解释:


yum install意思是安装软件,通过在后面跟定软件名称即可。
yum同样可以通过不同参数来实现不同功能,同样包括软件包清理,软件升级,系统升级等,同样会在后续帖中详细介绍。


Centos 6.3:


Mysql安装涉及软件包:


mysql: Mysql客户端以及基础库文件。
mysql-libs: Mysql客户端所必需的库文件。
mysql-server: Mysql服务器端以及相关文件。


安装命令:


yum intall mysql mysql-libs mysql-server


命令解释:


如上


*以上解释过的命令后面不会再解释


二、PHP的安装


Ubuntu:


PHP安装涉及的软件包:


php5                                                - 服务器端PHP解释器
php5-cgi                                            - 服务器端PHP-CGI解释器
php5-cli                                            - PHP5命令行工具
iphp5-common                                        - PHP5一些基本文件
php5-fpm                                            - 服务器端PHP-FPM程序 这个程序对Nginx处理PHP很重要
php5-gd                                             - PHP5的GD模块 GD是一套开源图像处理库,一般dz生成缩略图或者加水印需要他
php5-imagick                                        - PHP5的ImageMagick模块 DZ支持调用其用以提供比GD跟快以及更高效的图像处理
php5-imap                                           - PHP5的IMAP模块 论坛的邮件发送功能可能需要
php5-ldap                                           - PHP5的LDAP模块 LDAP是一个轻量级目录服务
php5-mcrypt                                         - PHP5的MCrypt模块 主要用途是数据加密,比如phpmyadmin就会要求提供此模块来提供更高的安全性
php5-mysql                                          - PHP5的MySQL模块 如果想让你的网站可以访问数据库,此模块必备
php5-snmp                                           - PHP5的SNMP模块 SNMP是简单网络管理协议的缩写,主要用于从一些设备以及服务器读取信息。部分监控软件可能会用到
php5-sqlite                                         - PHP5的SQLite模块 SQLite是一个轻量级的数据库,某些软件可能需要
php5-xmlrpc                                         - PHP5的XML-RPC


PHP安装命令:


apt-get install php5 php5-cgi php5-cli php5-common php5-fpm php5-gd php5-imagick php5-imap php5-ldap php5-mcrypt php5-mysql php5-snmp php5-snmp php5-sqlite php5-xmlrpc


Centos 5.8:


Centos 5.8支持两个PHP版本:PHP 5.1跟PHP5.3。这俩版本是不能共存的,对于一些比较老的网站可能会要求用PHP5.1版本才行,此事选择Centos 5.8就是个比较好的选择。同时针对Centos 5.8提供安装PHP5.1以及PHP5.3的方法。


预备工作:


因为Centos 5.8默认软件比较少,我们需要添加一个软件源来增加可用的软件数目,这其中包括PHP5.3
个人推荐的是erpl软件源。这个软件源中包含了经过在Fedora上测试可行,并在Red Hat跟Centos上通过测试的软件。既保证了软件的丰富程度同时也保证了服务器的稳定性。


安装命令:


wget 
rpm -ivh 


命令解释:


wget是Linux下一个小型的下载工具,支持http、https(我觉得这个最强大,迅雷貌似就不能支持https)以及ftp协议。一般简单的下载工作用他就行了,如果使用脚本的话也可以实现强大的下载功能。
rpm是对独立rpm包进行管理的软件。如果yum是全面管理的话,rpm就是深入到对每个单独的软件包进行管理。-ivh的意义为安装软件包输出Hash标记并输出详细信息。


PHP安装涉及软件包:


php.x86_64 : PHP服务器端主程序
php-cli.x86_64 : PHP命令行操作工具
php-common.x86_64 : PHP共用基础文件
php-gd.x86_64 : PHP的GD模块
php-imap.x86_64 : PHP的IMAP模块,使PHP可以使用IMAP协议
php-mbstring.x86_64 : 用于需要处理多字节字符(比如传输处理中文,因为英文只有一个字节,中文有三个字节,同时UTF-8编码是三个字节)的PHP程序
php-mcrypt.x86_64 : 标注PHP mcrypt模块。主要提供加密功能
php-mysql.x86_64 : PHP的Mysql模块。使用Mysql必备
php-snmp.x86_64 : PHP的SNMP模块
php-xml.x86_64 : PHP的XML模块,供那些需要使用XML的PHP程序使用,比如phpwind


安装命令:


yum install php php-cli php-common php-gd php-imap.x86_64 php-mbstring php-mcrypt php-mysql php-snmp php-xml


提示:


Centos 5.8上运行完此命令最终安装版本为PHP5.1,供一些老网站使用。


PHP5.3安装涉及软件包:


php53.x86_64 : PHP服务器端处理程序
php53-cli.x86_64 : PHP命令行工具
php53-common.x86_64 : PHP共用基础文件
php53-gd.x86_64 : PHP的GD模块
php53-imap.x86_64 : PHP的IMAP模块
php53-ldap.x86_64 : PHP的LDAP模块
php53-mbstring.x86_64 : 用于需要处理多字节字符的PHP程序
php53-mcrypt.x86_64 : 标准PHP模块,提供mcrypt库支持。
php53-snmp.x86_64 : PHP的SNMP模块
php53-xml.x86_64 : PHP的XML模块。


安装命令;


yum install php53 php53-cli php53-common php53-gd php53-imap php53-ldap php53-mbstring php53-mcrypt php53-snmp php53-xml


Centos 6.3


预备工作:


同样需要预先安装EPEL软件。这里不安装也不影响此部分,但是在以后的一些教程中可能会安装一些不在标准软件源中提供的软件,所以在此给出安装命令。


安装命令:


wget 
rpm -ivh epel-release-6-8.noarch.rpm


PHP安装涉及软件包:


php.x86_64 : 服务器端PHP程序
php-cli.x86_64 : PHP的命令行工具
php-common.x86_64 : PHP的公用文件
php-fpm.x86_64 : PHP的Fastcgi进程管理模块。主要用于配置Nginx中,如果配置为Apache则可不装字模块
php-gd.x86_64 : PHP的GD库,主要用于图像处理
php-imap.x86_64 : PHP的IMAP模块
php-ldap.x86_64 : PHP的LADP模块
php-mbstring.x86_64 : PHP的多字节字符处理模块
php-snmp.x86_64 : PHP的SNMP协议模块
php-xml.x86_64 : PHP的XML模块
php-zts.x86_64 : PHP的线程安全模块。这个是用于Apache的,工作于Apache的Worker模式下。在此列出来仅为讨论子模块用途,具体效果未知,安装命令中也不会进行安装。希望有了解的人可以发信息个我讨论一下此模块的与Apache的工作效果。不过Centos中既然提供了此模块,相信其稳定性还是通过了验证的。


安装命令:


yum install php php-cli php-common php-fpm php-gd php-imap php-ldap php-mbstring php-snmp php-xml


三、Apache的安装


Ubuntu:


Apache安装涉及到的软件包:


apache2                                                                                      - Apache元包(metapackage不会翻译的飘过)
apache2-mpm-prefork                                                                          - AApache传统无线程模型
apache2-utils                                                                                - Web服务器实用工具
apache2.2-bin                                                                                - Apache公用二进制文件
apache2.2-common                                                                             - Apache公用文件
libapache2-mod-php5                                                                          - 服务器端,HTML嵌入式脚本语言(Apache模块)


安装命令:


apt-get install apache2 apache2-mpm-prefork apache2-utils apache2.2-bin apache2.2-common libapache2-mod-php5 


Centos 5.8:


Apache安装涉及软件包:


httpd.x86_64 : Apache服务器


Apache安装命令:


yum install httpd


Centos 6.3:


Apache安装涉及软件包:


httpd.x86_64 : Apache HTTP服务器


安装命令:


yum install httpd


四、Nginx的安装


Ubuntu:


Nginx安装涉及软件包:


nginx-full                                                                                   - nginx web服务器完全安装


安装命令:


apt-get install nginx-full


Centos 5.8:


Nginx安装涉及软件包:


nginx.x86_64 : 健壮,小巧,高效的HTTP和反向代理服务器
collectd-nginx.x86_64 : Nginx插件集合


安装命令:


yum install nginx collectd-nginx


Centos 6.3:


Nginx安装涉及软件包:


nginx.x86_64 : 健壮,小巧,高效的HTTP和反向代理服务器
collectd-nginx.x86_64 : Nginx插件集合


安装命令:


yum install nginx collectd-nginx


五、启动服务


Ubuntu:


服务自动启动。


Centos 5.8:


service mysqld start 启动Mysql
service httpd start  启动Apache
service nginx start  启动Nginx


Centos 6.3:


service mysqld start 启动Mysql
service httpd start  启动Apache
service nginx start  启动Nginx


如何确定启动:


打开浏览器,输入IP此时就应该能看到欢迎页了。(Apache和Nginx不能同时启动,端口有冲突)


以上就是本篇教程的主要内容,如何安装LAMP、LNMP环境。下一篇将着重讲解如何去配置LAMP、LNMP环境,让大家能顺利的运行起属于自己的DZ或者PHPWIND论坛。


注:Centos系统中安装命令不加.x86_64是因为有些系统是32位系统,直接输入软件名称将会自动安装对应的版本,如果带着则指定安装软件为64位,32位系统下会报错。
阅读(2286) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~