centoslnmp一键安装包lnmp哪个版本最稳定

飞嗨,欢迎您的光临,本博所发布之文章皆为作者亲测通过,如有错误,欢迎通过各种方式指正。(本博已于升级到php7,运行环境php7 php-fpm + nginx1.8.0)
> CentOS 7源码编译安装最新版php5.6和nginx1.7.9及mysql(搭建lnmp环境)
突然,一不留神打开了php.net网站,点了一下download,靠,都已经php5.6 stable了,而我yum安装的php还是5.4版本的,太守旧了!嘿嘿,我是微软云的小白鼠,当年就多注册了个账号,还躺着个云服务器在睡觉呢,于是乎,私心想着搭建一个lnmp的备份服务器…源码编译安装,各种依赖包纠结,所以呢,mariadb(mysql)是yum安装的,php5.6和nginx1.7.9是源码安装的…装着装着,在跑./configure脚本的时候,又忘记启用enable curl等等常用扩展鸟,装完后,又去源码目录编译扩展,动态添加扩展…
一、安装mariadb(mysql)服务
yum install mariadb mariadb-server mariadb-devel
自从mysql被oracle公司收购后,mysql就有闭源收费的风险,所以,就有了社区版改装的mysql分支mariadb来规避这个风险。centos7开始,yum源的mysql全部都替换成mariadb的了。所以,mariadb是mysql的一个分支。不过貌似听说,google有一部分数据库也都已经迁移到mariadb了,真是要鄙视一下oracle公司,oracle数据库都这么赚了,还打着mysql的主意…
二、源码编译安装php5.6
1.下载php5.6
wget http://cn2.php.net/distributions/php-5.6.5.tar.gz
纠结的是,刚安装好的centos 7连wget都木有,所以yum -y install wget然后再下载,,,
tar -xvzf php-5.6.5.tar.gz
cd php-5.6.5
3.运行./configure脚本,启用需要的扩展模块,并指定php的安装目录
./configure –enable-fpm –enable-mbstring –with-mysql=mysqlnd –with-mysqli=mysqlnd –with-pdo-mysql=mysqlnd
这一步很是关键的,我忘记指定–prefix,它默认也是给我安装在/usr/local/php,不过还是指定一下比较妥当。还有,在这里的时候只记得安装mbstring和fpm扩展,忘记curl和intl(有一个东东是用yii2框架做的,需要介个东东)了,不过忘了也木有关系,到时候在编译扩展,动态安装进去。不过为了能顺利一口气等下输出phpinfo页面,能让nginx支持php,一定要把–enable-fpm加上去,fpm是php的一个脚本管理器,貌似说php5.3版本以前,fpm只是一个补丁patch,要去patch这个目录找他,php5.3后呢,据说是转正了,php里面已经集成了,不是第三方包了。只要跟上–enable-fpm安装完后就可以跑鸟…php链接mysql呢,这个东东也是必须要哒,–with-mysql是指定mysql的头文件,可以whereis mysql然后指定mysql的安装目录,不过php5.5后,直接用php提供的mysql驱动mysqlnd就口以了,据说这个驱动比mysql写的那个性能要好。。。巴拉巴拉。。。没有超大流量的站点,我是没能体会到……………….
php5.6 ./configure
配置完后,如果没有错误的话,就话看到成功的信息了。如果提示缺什么扩展就装上xxx-devel开发包,再运行./configure
./configure结果
然后就是编译make了,我的服务器是3.5G内存的,双核cpu来着,花了貌似十多分钟编译吧
编译完成后,就是make install安装滴啦…
make install结果
make install
运行php -v就口以看到php的版本信息啦,php 5.6最新版就安装上啦。
ok,到这里差不多的啦,但是还有php的配置文件php.ini呢,复制一份安装目录下的php.ini-development这个配置文件模板到php的目录。yum安装的php,php会去/etc/php.ini下找自己的配置文件。源码安装的配置文件放哪里的呢。。。写一个phpinfo()的页面,然后打开这个页面,google chrome下ctrl + f查找一下php.ini就会看到php是去哪里找的php.ini,然后就cp这个php.ini-development到这个目录下,并改名成php.ini就口以了。当然,貌似php.ini一般是在/etc/php.ini或者/usr/local/lib/php.ini中,不对的话,查找一下是最靠谱的解决办法。
为了要让nginx支持php,需要fastcgi处理有关php的页面,而php就需要php-fpm这个组件来支持,这个跟appache支持php是两个不同的原理。上面安装的时候已经./configure –enable-fpm啦,所以fpm已经开启了。当然,我们还需要配置一下php-fpm,在安装php的时候,已经为我们生成了一个配置模板了,在/usr/local/etc/php-fpm.conf.default了,只要复制这个模板并改名为php-fpm.conf就口以了,进去把daemonize改成yes,以后台服务的运行方式启动。然后捏,whereis php-fpm,这个是个可执行文件,直接执行php-fpm就可以运行了,然后netstat -an| grep php-fpm,看到,果然9000号端口在监听啦
php-fpm listening
三、源码编译安装nginx1.7.9
1.下载nginx最新版 wget http://nginx.org/download/nginx-1.7.9.tar.gz
2.解压&&进入 tar -xvzf nginx-1.7.9.tar.gz
cd nginx-1.7.9
3.运行./configure脚本,指定安装目录
./configure –sbin-path=/usr/local/nginx –conf-path=/usr/local/nginx/nginx.conf –pid-path=/usr/local/nginx/nginx.pid –with–http_ssl_module
nginx ./configure
nginx ./configure结果
然后就设置完了,,,如果报错的话,一般就是找不到依赖,缺什么就yum -y install xxx-devel,安装完后就口以了。第一次的时候,提示我缺少pcre,介个东东是正则,rewrite这样的模块是需要他来支持的,当然可以在configure加个选项–without不安装系统推荐安装的模块就可以跳过这个错误继续安装了。但是,nginx官方默认安装的模块还是都给装上,少了这个正则,等下nginx就没法匹配.php结尾的文件,再交给php-fpm来处理了。
然后,就是编译make了。。。纠结的是,nginx在make后,自动就给装上啦,不需要make install啦
nginx成功安装啦
现在,就是要让nginx匹配,匹配到.php结尾的文件,就通过fastcgi传给php-fpm来解析,解析完后再给nginx传给浏览器显示,刚才./configure时已经指定了nginx配置文件地址
修改配置:vim /usr/local/nginx/nginx.conf
大概在64行左右,模板已经有支持php-fpm的配置了,去掉#注释,然后重启一下nginx就可以了。
再回到/usr/local/nginx/html目录,编写一个phpinfo()的页面,然后在浏览器中访问这个页面,就能看到php和nginx的信息了:
往下翻,看到php还有很多常用的扩展都没有装上的呢,比如curl intl openssl等等其他扩展。这是因为在php ./configure的时候,没有enable的原因。这些库有需要的时候,可以再去源码目录的extentison中编译安装,动态添加进去。
还有一个问题就是,装完后
mysql_connet等系列函数用不了,这种warning信息,证明mysql驱动是装上了的。因为他毕竟不是报的undefined function mysql_connet…,这种情况是因为php找不到mysql.sock的连接。启动mariadb(mysql)进入,输入status,记住unix socket的路径
mysql.sock
然后把他配置到php.ini里面:
vim /usr/local/lib/php.ini找到mysql.default_socket,加上刚才的sock文件位置
mysql.default_socket
然后看看phpinfo页面,mysql扩展中mysql.default_socket就有值了。最一开始是没有的,配置了之后才有的,当然如果是yum安装的话,不用去配置,php也是找的到这个mysql.sock的。当然mysqli和pdo-mysql都要这样配一下
phpinfo mysql
然后,就能正常输出了
mysql连接成功
因为不是yum安装的,nginx还没有成为系统服务,在/etc/rd.d/init.d下新建一个nginxd的脚本,方便开机自启以及使用service nginxd start/stop/restart来管理nginx
service nginxd start
ok,终于完成了lnmp环境的搭建!nginx也支持php了。nginx和php都是源码方式安装的,mariadb是用yum源安装的。好好体会一下nginx的魅力以及最新版php带来的新功能,准备用这个服务器做个备份的,有想过主从服务器,分布式部署,负载均衡,可惜这两台云服务器不在一个内网。。。慢慢思考吧。加油。希望我的博客能帮助和我一样遇到问题的盆友们,啦啦啦啦啦啦啦
转载请注明: &
or分享 (0)LNMP一键安装包 V1.3 测试版公测,欢迎反馈 - VPS侦探
本版为1.3公开测试版,增加PHP7、mysql 5.7、优化、自定义数据库目录、自定义参数,增加安装成功率。
是一个用Linux Shell编写的可以为CentOS/RadHat/Fedora、Debian/Ubuntu/Raspbian VPS(VDS)或独立主机安装LNMP(Nginx/MySQL/PHP)、LNMPA(Nginx/MySQL/PHP/Apache)、LAMP(Apache/MySQL/PHP)生产环境的Shell程序。同时提供一些实用的辅助工具如:虚拟主机管理、FTP用户管理、Nginx、MySQL/MariaDB、PHP的升级、常用缓存组件的安装、重置MySQL root密码、502自动重启、日志切割、SSH防护DenyHosts/Fail2Ban、备份等许多实用脚本。
兼容性提醒:PHP 5.6、PHP7都有许多调整,使用程序前请到程序官网确定兼容性。目前很多国产的程序shopex、ecshop都还停留在php 5.2的时代,即使discuz x都对php7支持的有问题,目前wordpress支持php7,但wp插件可能有些不兼容。生产环境除非自己针对php7写的程序不建议使用php7。
除程序的兼容性外,php扩展也会有影响,目前php7下出原生的opcache外,如php-memcached、php-redis等都无法安装,Zend Guard Loader目前也无法使用也就是zend加密的无法解密。
目前PHP未正式发布暂不能直接进行升级。
安装前建议使用screen,执行:screen -S lnmp 后,执行:wget -c http://soft.vpser.net/lnmp/lnmp1.3beta-full.tar.gz && tar zxf lnmp1.3beta-full.tar.gz && cd lnmp1.3-full && ./install.sh {lnmp|lnmpa|lamp}
LNMP状态管理:lnmp {start|stop|reload|restart|kill|status}
LNMP各个程序的状态管理:lnmp {nginx|mysql|mariadb|php-fpm|pureftpd} {start|stop|reload|restart|kill|status}
虚拟主机管理:lnmp vhost {add|list|del}
数据库管理:lnmp database {add|list|edit|del}
FTP用户管理:lnmp ftp {add|list|edit|del}
V1.3更新记录
优化安装脚本、升级脚本及组件安装脚本;
增加lnmp.conf配置文件,可以自定义下载服务器地址、数据库目录及nginx和php编译参数;不论安装升级都会调用该文件里的设置;
增加安装和升级时会根据配置自动优化相关参数;
增加php7支持;
增加mysql 5.7支持;
增加phpmyadmin升级功能;
php增加Composer工具;
php 5.4以上版本增加intl、xsl扩展;
增加nginx升级到1.9.5以上版本支持http2;
增加php-redis、php-memcached、php-memcache、imagick PHP7下模块的支持;
增加升级PHP/MySQL/MariaDB时对源目录进行完整备份,防范升级失败风险;
增加卸载LNMP/LNMPA/LAMP时对数据库目录进行备份功能;
增加lnmp脚本创建虚拟主机时可选创建MySQL数据库和FTP账号选项(需先安装好pureftpd);
增加安装或升级完清理目录节约硬盘空间;
redis仅保留最新版,删除旧版支持;
修正在部分系统下MySQL无法正确设置密码的问题;
修正完善防火墙规则;
pureftpd去掉MySQL的依赖和web面板,只使用lnmp ftp {add|list|edit|del} 进行ftp账号管理;
调整pureftpd配置文件目录至/usr/local/pureftpd/etc/下;
nginx.conf php启用配置简化为include enable-php.
诸多小的更新及调整......
添加、删除虚拟主机及伪静态管理:
eAccelerator,xcache,memcached,imageMagick,ionCube、opcache、redis的安装:
问题反馈及使用交流论坛:
VPS侦探论坛注册邀请码:
有效期至: 12:39
&&转载请注明出处: 本文链接地址:
相关文章:
(45条评论) 分类: 标签: , , ,
VPS侦探推荐:
、、、、、、、、、等。
欢迎加入VPS侦探论坛交流:
本站建立在VPS上。
使用推荐码: 九折优惠。
本站推荐:、、、等。
美国VPS/服务器代购服务:
最新VPS优惠信息
2017年一月 &(7)
2016年十二月 &(9)
2016年十一月 &(15)
2016年十月 &(8)
2016年九月 &(9)
2016年八月 &(6)
2016年七月 &(10)
2016年六月 &(11)
2016年五月 &(6)
2016年四月 &(8)
2016年三月 &(7)
2016年二月 &(5)
2016年一月 &(10)
2015年十二月 &(10)
2015年十一月 &(9)
2015年十月 &(7)
2015年九月 &(9)
2015年八月 &(9)
2015年七月 &(8)
2015年六月 &(6)
2015年五月 &(5)
2015年四月 &(5)
2015年三月 &(9)
2015年二月 &(4)
2015年一月 &(6)
2014年十二月 &(8)
2014年十一月 &(7)
2014年十月 &(7)
2014年九月 &(7)
2014年八月 &(8)
2014年七月 &(9)
2014年六月 &(9)
2014年五月 &(10)
2014年四月 &(11)
2014年三月 &(10)
2014年二月 &(9)
2014年一月 &(14)
2013年十二月 &(17)
2013年十一月 &(12)
2013年十月 &(4)
2013年九月 &(12)
2013年八月 &(9)
2013年七月 &(11)
2013年六月 &(11)
2013年五月 &(9)
2013年四月 &(9)
2013年三月 &(7)
2013年二月 &(8)
2013年一月 &(4)
2012年十二月 &(10)
2012年十一月 &(11)
2012年十月 &(8)
2012年九月 &(13)
2012年八月 &(12)
2012年七月 &(5)
2012年六月 &(8)
2012年五月 &(11)
2012年四月 &(10)
2012年三月 &(4)
2012年二月 &(7)
2012年一月 &(8)
2011年十二月 &(11)
2011年十一月 &(8)
2011年十月 &(7)
2011年九月 &(10)
2011年八月 &(10)
2011年七月 &(6)
2011年六月 &(13)
2011年五月 &(15)
2011年四月 &(9)
2011年三月 &(9)
2011年二月 &(10)
2011年一月 &(9)
2010年十二月 &(10)
2010年十一月 &(12)
2010年十月 &(11)
2010年九月 &(12)
2010年八月 &(11)
2010年七月 &(10)
2010年六月 &(13)
2010年五月 &(14)
2010年四月 &(19)
2010年三月 &(9)
2010年二月 &(8)
2010年一月 &(10)
2009年十二月 &(12)
2009年十一月 &(10)
2009年十月 &(6)
2009年九月 &(7)
2009年八月 &(6)
2009年七月 &(13)
2009年六月 &(6)
2009年五月 &(5)
2009年四月 &(12)
2009年三月 &(13)
Copyright (C)
Powered by安装 - LNMP一键安装包
需要2 GB硬盘剩余空间
128M以上内存,OpenVZ的建议192MB以上(小内存请勿使用64位系统)
Linux下区分大小写,输入命令时请注意!
1、使用或类似的SSH工具登陆;
登陆后运行:screen -S lnmp
如果提示screen命令不存在可以执行:yum install screen 或 apt-get install screen安装,。
2、下载LNMP一键安装包:
您可以选择使用下载版(推荐国外或者美国VPS使用)或者完整版(推荐国内VPS使用)
如需下载版执行命令:wget -c
如需完整版执行命令:wget -c
下载完成后LNMP一键安装包就会被下载到您的服务器或VPS上(一般用root登陆没切换目录的话应该在/root 下面)。
3、解压LNMP一键安装包:
执行:tar zxvf lnmp0.9.tar.gz 或 tar zxvf lnmp0.9-full.tar.gz 就会将LNMP一键安装包解压缩。
4、开始安装LNMP一键安装包:
进入LNMP安装目录,执行:cd lnmp0.9/ 或 cd lnmp0.9-full/
再执行安装程序前需要您确认您的Linux发行版,可以执行:cat /etc/issue 查看是CentOS、Debian还是Ubuntu,也可以通过VPS服务商提供的控制面板上查看。确定好之后,选择下面对应系统的安装命令:
CentOS系统下的安装
执行./centos.sh 2>&1 | tee lnmp.log
(如果系统是Red Hat Enterprise Linux Server(RHEL)需要先确保yum可以正常安装软件,)
Debian系统下的安装
执行./debian.sh 2>&1 | tee lnmp.log
Ubuntu系统下的安装
执行./ubuntu.sh 2>&1 | tee lnmp.log
执行安装命令后,会出现如下界面:
输入要绑定的域名(建议使用一个二级域名,该域名会绑定到/home/wwwroot/,方便以后管理!如果输入有错误,可以按住Ctrl再按Backspace键删除),输入完成后回车,会显示如下界面:
(注:如果是Debian系统,输入域名后会提示Where are your servers located? asia,america,europe,oceania or africa,这里是选择服务器或VPS在哪个大洲,一般都是美国VPS,直接回车就行,如果是中国的,输入asia,回车。)
再输入要设置的MySQL root的密码,输入完成后回车,会显示如下界面:
如果需要安装InnoDB,可以输入 y 回车,不需要的话直接回车即可。回车后会显示如下界面:
提示"Press any key to start...",按回车键开始安装。
LNMP脚本就会自动安装编译Nginx、MySQL、PHP、phpMyAdmin、Zend Optimizer这几个软件。
5、安装完成
如果显示如下界面:
说明已经安装成功。
如果显示如下界面:
说明没有安装成功!!需要用到lnmp0.9的目录下找到lnmp.log,并下载下来,到发帖注明你的系统、32位还是64位,并将lnmp.log以附件形式上传到论坛,我们会通过日志查找错误,并在帖子上进行反馈。
虚拟主机管理
1、添加虚拟主机,执行如下命令:/root/vhost.sh 根据提示输入要绑定的域名,回车,如果需要添加更多的域名,输入y,再输入要另外绑定的域名,多个域名可以用空格隔开(注:带www和不带www的是不同的域名,如需带www和不带的www的域名都访问同一个网站需要同时都绑定)。再输入域名绑定的目录(绝对目录,如/home/wwwroot/lnmp,如果不填默认是/home/wwwroot/绑定的域名,目录不一定非要是/home/wwwroot/,如果/data/ 下面有大量的空间也可以填写/data/www/lnmp 之类的。),再选择是否添加伪静态规则,默认已经有了discuz、discuzx、wordpress、sablog、emlog、dabr、phpwind、wp2(二级目录wp伪静态),可直接输入以上名称即可,如果需要添加自定义伪静态规则,直接输入一个想要的名字,程序会自动创建伪静态文件,直接在/usr/local/nginx/conf/你自定义的伪静态名字.conf 里面添加伪静态规则就行(注:添加完执行/etc/init.d/nginx restart 重启生效)。接下来会提示是否需要启用日志功能,一般情况下不需要启动,直接输入n就行,如需启动,输入y,再输入要定义的日志文件名字,回车就会自动添加虚拟主机。
2、删除虚拟主机,ssh执行:rm /usr/local/nginx/conf/vhost/域名.conf
安装其他组件
(注:安装如下组件,必须在lnmp0.9的安装目录,即lnmp压缩包解压缩后cd lnmp0.9/后的目录!,如果找不到可以执行find / -name eaccelerator.sh查找。)
(注:以下组件不一定您都需要,请按您的需求使用!)
1、安装PureFTPd和FTP管理面板,执行如下命令:./pureftpd.sh 按提示输入你MySQL的root密码、FTP用户管理面板的密码、MySQl的FTP数据库密码(可直接回车,自动生成一个密码),回车确认,就会自动安装PureFTPd,提示安装完PureFTPd后,在浏览器执行http://你的域名或IP/ftp/ 输入你前面设置的FTP用户管理面板的密码,就可以管理FTP。
2、安装eAccelerator,执行如下命令:./eaccelerator.sh ,按提示选择版本,回车确认后,就会自动安装并重启web服务。
3、安装ionCube,执行如下命令:./ionCube.sh 回车确认后,就会自动安装并重启web服务。
4、安装imageMagick,执行如下命令:./imageMagick.sh 回车确认后,就会自动安装并重启web服务。
5、安装memcached,执行如下命令:./memcached.sh 回车确认后,就会自动安装并重启web服务。
6、升级Nginx版本,执行如下命令:./upgrade_nginx.sh 按提示输入nginx的版本号,如1.0.10,版本号可以从http://nginx.org/en/download.html获取。(注:升级过程中MySQL、PHP-FPM将会暂停。)
7、升级PHP版本,执行如下命令:./upgrade_php.sh 按提示输入php版本号,如5.3.6。(注:某些网站程序,如shopex等有兼容性问题,升级前确保你使用的程序以支持5.3.*版本。升级过程中Nginx、MySQL、PHP-FPM将会暂停。5.4.*版本属测试版暂未测试,生产环境请勿升级到5.4.*。)
LNMP状态管理: /root/lnmp {start|stop|reload|restart|kill|status}
Nginx状态管理:/etc/init.d/nginx {start|stop|reload|restart}
PHP-FPM状态管理:/etc/init.d/php-fpm {start|stop|quit|restart|reload|logrotate}
PureFTPd状态管理: /etc/init.d/pureftpd {start|stop|restart|kill|status}
MySQL状态管理:/etc/init.d/mysql {start|stop|restart|reload|force-reload|status}
Memcached状态管理:/etc/init.d/memcached {start|stop|restart}
相关图形界面程序
phpinfo : http://前面输入的域名或IP/phpinfo.php
phpMyAdmin : http://前面输入的域名或IP/phpmyadmin/
探针 : http://前面输入的域名或IP/p.php
PureFTP管理界面:http://前面输入的域名或IP/ftp/
Memcached测试页面:http://前面输入的域名或IP/memcached.php
LNMP相关目录
/usr/local/nginx
/usr/local/mysql
/usr/local/php
网站目录: /home/wwwroot/
Nginx日志目录:/home/wwwlogs/
/root/vhost.sh添加的虚拟主机配置文件所在目录:/usr/local/nginx/conf/vhost/
LNMP相关配置文件
Nginx主配置文件:/usr/local/nginx/conf/nginx.conf
/root/vhost.sh添加的虚拟主机配置文件:/usr/local/nginx/conf/vhost/域名.conf
MySQL配置文件:/f
PHP配置文件:/usr/local/php/etc/php.ini
php-fpm配置文件:/usr/local/php/etc/php-fpm.conf
PureFtpd配置文件:/usr/local/pureftpd/pure-ftpd.conf
PureFtpd MySQL配置文件:/usr/local/pureftpd/pureftpd-mysql.conf
注:LNMP一键安装包 0.9 & LNMPA已经在(感谢提供测试VPS)、(感谢提供测试VPS)、(感谢提供测试VPS)、、、、、、、、、、等多家美国VPS的CentOS、Debian、Ubuntu的32位和64位系统上测试通过。(Debian5系统源目前有问题,请使用Debian6!小内存请勿使用64位系统)}

我要回帖

更多关于 lnmp一键安装包 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信