自己搭建服务器 LNMP一键安装包 For Linux 介紹

2014/03/24
LNMP一键安装包是什么?
LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RadHat、Debian/Ubuntu VPS(VDS)或独立主机安装LNMP(Nginx、MySQL、PHP、phpMyAdmin)生产环境的Shell程序。
我们为什么需要它?
编译安装需要输入大量的命令,如果是配置生产环境需要耗费大量的时间。
不会Linux的站长或Linux新手想使用Linux作为生产环境……
它有什么优势?
无需一个一个的输入命令,无需值守,编译安装优化编译参数,提高性能,解决不必要的软件间依赖,特别针对VPS用户进行了优化。
如何获取它?
你可以自由 下载 并使用它在VPS(VDS)或独立服务器上,做为真正的生产环境或测试环境。
我们为什么采用LNMP这种架构?
采用Linux、PHP、MySQL的优点我们不必多说。
Nginx是一个小巧而高效的Linux下的Web服务器软件,是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,已经在一些俄罗斯的大型网站上运行多年,目前很多国内外的门户网站、行业网站也都在是使用Nginx,相当的稳定。
Nginx相当的稳定、功能丰富、安装配置简单、低系统资源……
系统需求:
  • 需要2GB以上硬盘剩余空间
  • 128M以上内存,OpenVZ的建议192MB以上(小内存请勿使用64位系统)
  • VPS或服务器必须已经联网!
  • Linux下区分大小写,输入命令时请注意!
LNMP一键安装包 V1.0 已经在DiaHosting(感谢提供测试VPS)、VPSYOU(感谢提供测试VPS)、PhotonVPS(感谢提供测试VPS)、LinodeVR香港VPSXeHostVPSZZDigitalOceanHostigationMyHost123YardVPSBudgetVM瑞豪开源遨游主机DirectSpaceThrustVPSBuyVM等多家美国VPS的CentOS 5-6.4、Debian 5-7、Ubuntu 10.04-13.04的32位和64位系统上测试通过。(Debian5系统源需要修改才可使用!小内存请勿使用64位系统)
安装步骤:
1、使用putty或类似的SSH工具登陆VPS或服务器;
登陆后运行:screen -S lnmp
如果提示screen: command not found 命令不存在可以执行:yum install screen 或 apt-get install screen安装,详细的screen教程
2、下载并安装LNMP一键安装包:
您可以选择使用下载版(推荐国外或者美国VPS使用)或者完整版(推荐国内VPS使用),两者没什么区别。
执行安装程序前需要您确认您的Linux发行版,可以执行:cat /etc/issue 查看是CentOS、Debian还是Ubuntu,也可以通过VPS服务商提供的控制面板上查看。确定好之后,选择下面对应系统的安装命令: 
CentOS系统下执行:wget -c http://soft.vpser.net/lnmp/lnmp1.0-full.tar.gz && tar zxvf lnmp1.0-full.tar.gz && cd lnmp1.0-full && ./centos.sh
Debian系统下执行:wget -c http://soft.vpser.net/lnmp/lnmp1.0-full.tar.gz && tar zxvf lnmp1.0-full.tar.gz && cd lnmp1.0-full && ./debian.sh
Ubuntu系统下执行:wget -c http://soft.vpser.net/lnmp/lnmp1.0-full.tar.gz && tar zxvf lnmp1.0-full.tar.gz && cd lnmp1.0-full && ./ubuntu.sh
另外有2个国外镜像下载点可以使用soft2.vpser.net 和soft3.vpser.net 具体替换方法:http://lnmp.org/faq/lnmp-download-source.html
如需安装0.9版,请访问http://old.lnmp.org/install.html
按上述命令执行后,会出现如下提示:
(注:如果是Debian系统,会提示Where are your servers located? asia,america,europe,oceania or africa,这里是选择服务器/VPS在哪个大洲,一般都是美国VPS,直接回车就行,如果是中国的,输入asia,回车。如果输入有错误,可以按住Ctrl再按Backspace键删除,以下均可采用此方法删除。)

这一步需要设置MySQL的root密码,输入后回车进入下一步,如下图所示:

这里需要确认是否启用MySQL InnoDB,如果不确定是否启用可以输入 y ,这个可以单独在MySQL文件里关闭,输入 y 表示启用,输入 n 表示不启用。输入 y 或 n 后回车进入下一步,显示如下信息:

这一步是选择php版本,可以选择 PHP 5.3.17 或 PHP 5.2.17,安装PHP 5.3.17的话输入 y ,安装PHP 5.2.17 输入 n,输入 y 或 n 后回车,进入下一步MySQL版本的选择,如下图:

可以选择MySQL 版本 5.5.27 或 5.1.60,安装MySQL 5.5.27的话输入 y ,安装MySQL 5.1.60 输入n,输入 y 或 n 后回车,完成选择。
提示"Press any key to start...",按回车键确认开始安装。
LNMP脚本就会自动安装编译Nginx、MySQL、PHP、phpMyAdmin、Zend Optimizer这几个软件。
安装时间可能会几十分钟到几个小时不等,主要是机器的配置网速等原因会造成影响。
3、安装完成
如果显示如下界面:

说明已经安装成功。
接下来按添加虚拟主机教程,添加虚拟主机,通过sftpftp服务器上传网站,将域名解析到VPS或服务器的IP上,解析生效即可使用。
4、安装失败

如果出现类似上图的提示,则表明安装失败,说明没有安装成功!!需要用winscp或其他类似工具,将/root目录下面的lnmp-install.log下载下来,到LNMP支持论坛发帖注明你的发行版名称版本号(可通过 cat /etc/issue获得)、32位还是64位,并将lnmp-install.log压缩以附件形式上传到论坛,我们会通过日志查找错误,并给予相应的解决方法。
5、添加、删除虚拟主机及伪静态管理
http://lnmp.org/faq/lnmp-vhost-add-howto.html
6、eAccelerator,xcache,memcached,imageMagick,ionCube的安装
http://lnmp.org/faq/Add-ons.html
7、LNMP相关软件目录及文件位置
http://lnmp.org/faq/lnmp-software-list.html

更新记录
2013年6月1日发布LNMP 1.0
  • 调整优化安装脚本,自动记录安装日志至/root/lnmp-install.log安装失败时可以提供此文件;
  • 安装时增加PHP 5.3和MySQL 5.5版本选择,可以自由选择;
  • 删除安装时需要输入域名的选择,以免对新生造成误导;
  • 默认站点目录更换到/home/wwwroot/default/ ;
  • 增加proftpd安装脚本 proftpd.sh和proftpd用户创建脚本proftpd_vhost.sh;
  • 增加xcache安装脚本;
  • 增加502重启脚本;
  • 增加php 5.2.17安装脚本,适合已升级5.3,而有程序需要php 5.2的用户;
  • 添加nginx日志切割脚本 cut_nginx_logs.sh;
  • 添加php禁用函数删除脚本remove_disable_function.sh;
  • 将memecache扩展安装脚本移至memcached.sh;
  • 优化eaccelerator,增加测试版本选择,可以使其支持php 5.4;
  • 优化ionCube Loader安装脚本,增加对php 5.4的支持;
  • PHP禁用函数里去掉fsockopen和pfsockopen;
  • 增加shopex、dedecms、drupal、ecshop伪静态文件;
  • PHP 5.3版本增加request_terminate_timeout php脚本运行时间限制参数,如果有采集程序将该值修改为0;
  • nginx配置增加IE6禁用gzip;
  • nginx版本升级为1.2.7;
  • 增加支持PHP 5.4的最新版ZendGuardLoader;
2012年10月5日增加防跨站、跨目录解决方法,防跨站、跨目录教程
2012年6月7日修复Ubuntu make时的安装错误
2012年4月23日发布LNMP 0.9
  • 优化安装过程及错误处理;
  • MySQL安装增加InnoDB选项(可选);
  • 修正eaccelerator和ionCube的PHP版本判断错误的问题;
  • 修正memcached pid创建失败的问题
  • 修正pdo_mysql安装方法;
  • PHP增加部分禁用函数;
  • 优化Nginx升级脚本;
  • 去除vsftpd安装脚本;
  • 修正访问不存在的PHP时返回404;
  • 更新Nginx版本;
  • 更新PHP探针;
  • 增加phpwin伪静态
  • 升级过程增加停止LNMP相关服务;
  • 修正Nginx log_format问题;
2012年1月9日


  • 修复PHP5.2.* Hash漏洞;



  • 2011年12月14日发布LNMP 0.8
    • 优化安装过程及错误处理;
    • 增加imageMagick安装脚本;
    • 增加memcached安装脚本;
    • Nginx升级至1.0.10、MySQL升级至5.1.60;
    • 优化PHP升级脚本;
    • 优化Nginx升级脚本;
    • 添加LNMPA PHP版本升级工具;
    • 优化eAccelerator自动安装脚本;
    2011年4月27日发布LNMP 0.7
    • 优化安装过程,修复多处安装错误处理;
    • 添加LNMP至LNMPA升级包;
    • 重写PureFTP安装包,实现只需要输入密码即可安装成功;
    • Nginx升级至0.8.54、MySQL升级至5.1.54、PHP升级至5.2.17;
    • 优化PHP升级脚本;
    • 优化Nginx升级脚本;
    • 添加LNMPA PHP版本升级工具;
    • 优化eAccelerator自动安装脚本,支持LNMPA同时多次安装都不会出现多次加载;
    • 优化ionCube自动安装脚本,支持LNMPA同时多次安装都不会出现多次加载;
    • 去除了Suhosin;
    2011年2月8日发布LNMP 0.6
    • 优化安装过程,修复多处安装错误处理;
    • 添加ubuntu专用安装脚本ubuntu.sh;
    • 修善pureftpd安装脚本,增加自动开机启动;
    2011年2月15日发布Nginx版本升级工具(教程)
    2011年3月7日发布Nginx日志切割工具(教程)
    2011年3月15日发布PHP自动升级工具(教程)
    使用新探针,修复邮件测试功能
    2010年10月9日发布LNMP 0.5
    • 升级Nginx到0.7.67、MySQL到5.1.48、PHP升级到5.2.14、PHPMyAdmin升级到3.3.7
    • 为安全将Nginx日志移动到/home/wwwlogs/下面;
    • 更改32位64位判别方式;
    • 增加系统时间调整,防止时间错误造成编译出错;
    • 优化eAccelerator安装程序;
    • 增加ionCube安装程序;
    • 虚拟主机添加可以直接运行:/root/vhost.sh;
    • 修正/root/lnmp状态判断错误。
    2010年11月27日 更新lnmp文件上传大小限制为50MB
    2010年12月7日 修正/root/pureftpd状态判断错误。
    2010年12月10日 更新Nginx支持IPv6
    2011年1月17日 将PHP执行时间有30秒调整为300秒。
    2011年1月17日 安装脚本添加自动关闭SELINUX
    2010年3月28日发布LNMP 0.4
    • 添加LNMP状态管理
    • 添加PureFTPd状态管理
    • PHP增加suhosin
    • 增加VsFTPd、PureFTPd安装及管理
    • 增强Nginx虚拟主机添加功能,添加多域名、伪静态支持、日志是否启用的功能
    • 升级Nginx到0.7.65、MySQL到5.1.44
    2009年11月15日发布LNMP 0.3


  • 添加虚拟主机添加程序



  • 2009年3月2日发布LNMP 0.2
    2009年1月19日发布LNMP0.1

    • 我们为什么需要采用LNMP架构?

    原因不在重复,请看:关于
  • LNMP一键安装包支持哪些Linux发行版?

  • 目前支持CentOS(RadHat)、Debian、Ubuntu。
  • MySQL的root默认密码是什么?

  • 如果安装时不输入直接回车,密码为root,否则为你输入的密码。
  • 开始安装LNMP时,提示error: package httpd is not installed , error: package php is not installed ,error: package mysql is not installed

  • 这个不是错误信息,这个是检查系统环境,将原系统中的php、apache、mysql删除,请不必在意这个问题。
  • 安装LNMP时,停在 make[3]: Leaving directory `/root/lnmp0.4-full/mysql-5.1.44/mysql-test 不动。

  • 答:MySQL编译测试mysql,这个地方会消耗的时间比较长,多等一下就可以了。
  • 安装时经常掉线怎么办?

  • 请参照此教程:http://www.vpser.net/manage/run-screen-lnmp.html
  • 安装完LNMP后出现502 Bad Gateway

  • 解决方法:http://bbs.vpser.net/thread-1144-1-1.html
  • 安装完LNMP后,直接访问IP显示403 Forbidden

  • 安装完成后域名/home/wwwroot/下面没有index文件,所以直接访问IP会显示403 Forbidden。
    也有可能是权限问题,执行chown www:www -R 目录或文件
  • LNMP如何删除已添加的域名?

  • 解决方法:http://bbs.vpser.net/thread-1978-1-1.html
  • 如何修改安装LNMP时输入的域名?

  • 修改方法:编辑/usr/local/nginx/conf/nginx.conf 查找安装时输入的域名,修改为你想设置的域名,保存,执行:/usr/local/nginx/sbin/nginx -s reload 重启即可。
  • 如果忘记MySQL root密码,如何重设密码?

  • 执行如下命令:wget http://soft.vpser.net/lnmp/ext/reset_mysql_root_password.sh;sh reset_mysql_root_password.sh 按提示操作即可
  • 如何给php安装自己需要的模块?

  • 解决方法:http://www.vpser.net/manage/lnmp-php-install-ext.html
  • 如何添加404错误页面?

  • 解决方法:http://bbs.vpser.net/thread-2175-1-1.html
  • 安装完LNMP后,安装Pureftpd出现:configure: error: Your MySQL client libraries aren't properly installed

  • 解决方法:http://bbs.vpser.net/thread-1367-1-7.html
  • 安装完Pureftpd,用创建的ftp帐号链接显示530验证错误。

  • 解决方法:530 验证错误应该是mysql链接信息错误引起的,检查一下/usr/local/pureftpd/pureftpd-mysql.conf  和/home/wwwroot/ftp/config.php 中的mysql链接信息和mysql数据库中的信息是否一致。
  • MySQL启动错误:[Warning] '--skip-locking' is deprecated and will be removed in a future release. Please use '--skip-external-locking' instead.
  •  <解决方法:http://bbs.vpser.net/thread-1844-1-1.html
  • ZendOptimizer.so:connot restore segment prot after reloc: Permission denied 错误。

  • 解决方法:http://bbs.vpser.net/thread-1143-1-1.html
  • 如何开启IMAP模块?

  • 解决方法:http://bbs.vpser.net/thread-1150-1-1.html
  • IPv6服务器环境下lnmp的设置及注意事项

  • 请参考:http://www.vpser.net/build/nginx-lnmp-ipv6.html
  • 如何升级Nginx版本?

  • 请参考:运行安装包里面的 ./upgrade_nginx.sh 或http://www.vpser.net/build/lnmp-auto-upgrade-nginx-to-any-version.html
  • 如何升级PHP版本?

  • 请参考:运行lnmp安装包里的 ./upgrade_php.sh 或http://www.vpser.net/manage/lnmp-upgrade-php-script.html
  • 安装好后,端口正常,Ping正常,但是无法通过IP或域名访问网站

  • 解决方法:一般都是因为iptables引起的,可以通过yum或apt-get删除iptables,或/etc/init.d/iptables stop 停止iptables。如果想保留iptables可以按这个教程添加上80端口。如果是国内的VPS或服务器不能IP直接访问很正常,国内一般都有白名单。
  • LNMP中如何添加伪静态?

  • LNMP伪静态教程
  • LNMPA中如何添加伪静态?

  • 直接将Apache的伪静态文件.htaccess放在网站目录下即可。
  • 升级到LNMPA后,访问http://域名/ftp/这个ftp管理界面出现504错误?
    解决方法:http://bbs.vpser.net/thread-2763-1-1.html
  • 如何修改Pureftpd管理界面的登录密码?

  • 解决方法:http://bbs.vpser.net/thread-2038-1-1.html
  • Pureftpd目录的文件数限制如何解除?

  • 解决方法:http://bbs.vpser.net/thread-3509-1-2.html
  • 安装eaccelerator时,eaccelerator官方下载地址返回404?

  • 解决方法:eaccelerator官方下载地址貌似失效,从http://soft.vpser.net/web/eaccelerator/ 获取你需要的eaccelerator地址。
  • 如何确认Memcached已经安装成功?

  • 解决方法:http://bbs.vpser.net/thread-6203-1-1.html
  • 升级到PHP 5.3.* 版本后为什么探针显示不支持Zend Optimizer了?

  • 答:PHP 5.3.* 之后的版本里Zend Optimizer已经改名为Zend Guard Loader,虽然探针无法查到,可以在phpinfo里看到,需要Zend Optimizer的程序也是可以正常运行的,不需要担心。
  • 安装好LNMP后,如何更改网站的存放目录和MySQL的数据库存放目录?

  • 网站存放目录的更改只需要修改对应虚拟主机的配置文件,将里面的root 后的目录改成新的目录,然后执行:cp -a 老目录 新目录,chown www:www -R 新目录。 MySQL目录的更改,首先需要停掉mysql服务器/etc/init.d/mysql stop,下面新目录以/data/mysql/ 为例,然后cp -R /usr/local/mysql/var/* /data/mysql/,再chown mysql:mysql -R /data/mysql/ 下面再修改/etc/my.cnf ,查找[mysqld] ,在下面加入datadir = /data/mysql/ 保存,启动mysql。
  • LNMP 0.9禁用了部分存在危险的PHP函数,我想开启,怎么操作?

  • 答:修改/usr/local/php/etc/php.ini 查找disable_functions 将后面要使用的函数删掉,保存,然后执行:/etc/init.d/php-fpm restart 重启后即可。
  • LNMP 0.9 DiscuzX 通信失败或通过Socket连接SMTP无法发送邮件或wordpress Akismet 无法工作问题的解决方法?

  • 解决方法:http://bbs.vpser.net/thread-7649-1-1.html
  • MySQL无法启动,如下启动信息:Starting MySQL............?

  • 解决方法:大部分是当前硬盘或分区空间不足,具体看错误信息/usr/local/mysql/var/主机名.err 的日志,清理日志信息的话参考:http://bbs.vpser.net/thread-8393-1-1.html
    问题反馈及更多常见问题
    请访问:http://bbs.vpser.net/search.php使用搜索功能搜索相关关键词。
    或访问:http://bbs.vpser.net/forum-25-1.html发帖提问,请问前请确保已经在论坛http://www.vpser.net搜索过没有相关的解决方法再发帖。

    技术支持
    LNMP交流论坛:http://bbs.vpser.net/forum-25-1.html 建议提问前先在论坛里搜索相关关键词或查看常见问题,大部分问题都在论坛上找到答案。
      QQ群:
    • 113457014
    • 101819711
    • 20251430
    • 加群验证信息填写:LNMP一键安装包,无验证信息不予通过
    意见建议:admin#lnmp.org

    Related Posts