和LNMP相比,LNMPA是否效率更高?linux服务器应用(共6篇)由网友“蜀山弟子徐手下”投稿提供,下面是小编为大家整理后的和LNMP相比,LNMPA是否效率更高?linux服务器应用,仅供大家参考借鉴,希望大家喜欢,并能积极分享!
篇1:和LNMP相比 LNMPA是否效率更高?
与InfoQ之前访问过的SegmentFault一样,晕剩是新涌现的一家编程领域的社交问答网站,通过社群智慧,让互联网成为一个能为专业难题提供高效解答的宝库,这就是德问的使命。
最近,在上面提出一个问题:LNMPA和LNMP相比,真的比LNMP更有效率吗?
LNMPA是在Nginx后面加入了Apache。由Apache来处理一些动态请求。
这种方式让架构变得有点复杂,但优点似乎也好理解:因为Apache比Nginx在动态处理和伪URL上更加成熟。
大家觉得,这样架构合适吗?还是多此一举呢?
在百度百科上,对LNMPA是这样说的:
LNMP或LAMP的劣势
Nginx是一个小巧而高效的Linux下的Web服务器软件,与Apache相比,消耗资源更少,支持的并发连接,更高的效率,反向代理功能效率高、静态文件处理快等,但动态页面处理能力不如Apache等老牌软件成熟。单独使用Nginx处理大量动态页面时容易产生频繁的502错误。
Apache是一款老牌的Web服务器软件,在高并发时对队列的处理比FastCGI更成熟,Apache的mod_php效率比php-cgi更高且更稳定、对伪静态支持好,不需要转换、多用户多站点权限等方面有着更好的效果,单独使用Apache处理静态页面时,对内存的占用远远超过Nginx。
LNMPA的优势
LNMPA使用Nginx作为前端服务器,能够更快、更及时地使用更少的系统资源处理静态页面、js、图片等文件,当客户端请求访问动态页面时,由Nginx反向代理给作为后端服务器的Apache处理,Apache处理完再交予Nginx返回给客户端,
采用LNMPA能够更好的解决LNMP架构中由于PHP-FPM方面产生的502错误,同时能够以很简单的方式提供更安全的多用户多站点环境。
对此问题,的评论是:
Nginx + php-fpm 比 Apache + mod_php 更省内存。如果服务器内存不够大,用php-fpm是个不错的选择,虽然有出现502,不过可以通过负载均衡或动静态分离来解决。
LNMPA和LNMP,这二种方式用的人都还挺多的,不过我觉得第二种运维更加简单。我们目前采用LNMP(php-fpm)
原百度系统部技术总监这样看待这个问题:
LNMPA还是LNMP真没这么重要,在某个共识的基础上,随大流就好。如果非要找个原则,那么就用满足需求的最简单的方案。
现在硬件的性能这么好,价格也便宜,就用LAMP又如何?性能的瓶颈大多数情况下都在业务逻辑和数据处理部分,静态页面没有必要过多考虑,除非你产品的核心内容就是图片、视频,如果是这样,把静态内容分离就好了。
InfoQ的读者们,你们对这个问题怎么看?欢迎在评论中留下你们的观点!
篇2:和LNMP相比,LNMPA是否效率更高?linux服务器应用
与InfoQ之前访问过的SegmentFault一样,晕剩是新涌现的一家编程领域的社交问答网站,通过社群智慧,让互联网成为一个能为专业难题提供高效解答的宝库,这就是德问的使命。
最近,尚兴跃在上面提出一个问题:LNMPA和LNMP相比,真的比LNMP更有效率吗?
LNMPA是在Nginx后面加入了Apache。由Apache来处理一些动态请求。
这种方式让架构变得有点复杂,但优点似乎也好理解:因为Apache比Nginx在动态处理和伪URL上更加成熟。
大家觉得,这样架构合适吗?还是多此一举呢?
在百度百科上,对LNMPA是这样说的:
LNMP或LAMP的劣势
Nginx是一个小巧而高效的Linux下的Web服务器软件,与Apache相比,消耗资源更少,支持的并发连接,更高的效率,反向代理功能效率高、静态文件处理快等,但动态页面处理能力不如Apache等老牌软件成熟。单独使用Nginx处理大量动态页面时容易产生频繁的502错误。
Apache是一款老牌的Web服务器软件,在高并发时对队列的处理比FastCGI更成熟,Apache的mod_php效率比php-cgi更高且更稳定、对伪静态支持好,不需要转换、多用户多站点权限等方面有着更好的效果,单独使用Apache处理静态页面时,对内存的占用远远超过Nginx,
电脑资料
LNMPA的优势
LNMPA使用Nginx作为前端服务器,能够更快、更及时地使用更少的系统资源处理静态页面、js、图片等文件,当客户端请求访问动态页面时,由Nginx反向代理给作为后端服务器的Apache处理,Apache处理完再交予Nginx返回给客户端。
采用LNMPA能够更好的解决LNMP架构中由于PHP-FPM方面产生的502错误,同时能够以很简单的方式提供更安全的多用户多站点环境。
对此问题,毛杭军的评论是:
Nginx + php-fpm 比 Apache + mod_php 更省内存。如果服务器内存不够大,用php-fpm是个不错的选择,虽然有出现502,不过可以通过负载均衡或动静态分离来解决。
LNMPA和LNMP,这二种方式用的人都还挺多的,不过我觉得第二种运维更加简单。我们目前采用LNMP(php-fpm)
原百度系统部技术总监邵辉这样看待这个问题:
LNMPA还是LNMP真没这么重要,在某个共识的基础上,随大流就好。如果非要找个原则,那么就用满足需求的最简单的方案。
现在硬件的性能这么好,价格也便宜,就用LAMP又如何?性能的瓶颈大多数情况下都在业务逻辑和数据处理部分,静态页面没有必要过多考虑,除非你产品的核心内容就是图片、视频,如果是这样,把静态内容分离就好了。
篇3:RHEL5配置LNMP环境安装shopexlinux服务器应用
安装说明:客户网站是一个使用shopex搭建的网店,现在要对客户网站做迁移,使用LNMP来搭建网站环境,客户要求尽可能使用最新的稳定版进行安装,初步打算使用nginx1.2.7+mysql5.6.10 +php5.4.13,环境搭建一切顺利,然而在最后网站安装的时候却出现了问题,由于shopex和很多同类的网店程序都需要使用zend进行数据加密,而目前的ZendOptimizer已经不支持5.3以上的php版本,只能使用5.2或者更低的版本,于是就更换php5.2.17进行安装,在安装中遇到了不少了问题,于是整理了自己的安装过程,给有类型需求的朋友提供一个案例以供参考,为简化操作配置过程中SElinux和iptables都是关闭状态的,请各位注意,
安装平台:vmware workstation 9
系统:Red Hat Enterprise Linux Server release 5.4 (Tikanga)(内核2.6.18-164.el5)
内存:1024M
软件包存放位置 /usr/local/src
所用软件版本
nginx-1.2.7mysql-5.6.10php-5.2.17ZendOptimizer-3.3.3shopex4.8.5libevent-2.1.2libiconv-1.14
所需软件包下载地址
nginx.org/download/nginx-1.2.7.tar.gzjaist.dl.sourceforge.net/project/mysql.mirror/MySQL5.6.10/mysql-5.6.10-linux-glibc2.5-i686.tar.gzmirrors.sohu.com/php/php-5.2.17.tar.gzphp-fpm.org/downloads/php-5.2.17-fpm-0.5.14.diff.gzftp.gnu.org/gnu/libiconv/libiconv-1.14.tar.gzgithub.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gzdownload.chinaunix.net/down.php?id=34286&ResourceID=13152&site=1
一、配置安装环境
1.配置使用centos的yum源。
为了简化安装过程,一些可以使用yum进行安装的依赖包或组件我比较习惯使用yum进行安装,但红帽自带的yum源不是很好用,这里使用的是网易centos5版本的yum源。
//删除红帽系统自带的yum# rpm -aq|grep yum | xargs rpm -e --nodeps//下载yum安装包# wget mirrors.163.com/centos/5.9/os/i386/CentOS/yum-3.2.22-40.el5.centos.noarch.rpm# wget mirrors.163.com/centos/5.9/os/i386/CentOS/yum-metadata-parser-1.1.2-4.el5.i386.rpm# wget mirrors.163.com/centos/5.9/os/i386/CentOS/yum-fastestmirror-1.1.16-21.el5.centos.noarch.rpm//安装# rpm -ivh yum-*//下载163源,这里要首先保证网络和DNS解析连接正常。# cd /etc/yum.repos.d/# wget mirrors.163.com/.help/CentOS5-Base-163.repo# sed -i “s/$releasever/5.9/” CentOS5-Base-163.repo//测试yum源是否可用# yum makecache
可以看到在更新yum源信息说明新的yum源已经可以正常使用了。
2.移除系统自带的rpm包的http mysql php。
# yum remove httpd mysql mysql-server php php-cli php-common php-devel php-gd -y
3.解决依赖关系。
编译安装nginx和php需要事先需要安装开发包组“Development Tools” “Development Libraries” 和“X Software Development”同时还需要专门安装pcre-devel包
#yum grpupinstll “Development Tools” “Development Libraries” “X Software Development”# yum -y install pcre-devel
4.同步系统时间。
# yum -y install ntp# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime# vim /etc/ntp.conf//添加下面三行内容(19行下面添加)server 3.cn.pool.ntp.orgserver 3.asia.pool.ntp.orgserver 0.asia.pool.ntp.org#/sbin/service ntpd stop//更新系统时间#/usr/sbin/ntpdate cn.pool.ntp.org#/sbin/service ntpd start#chkconfig ntpd on
二、安装Nginx
1.首先添加用户nginx,实现以之运行nginx服务进程。
# groupadd -r nginx# useradd -r -g nginx nginx
2.解压进行编译安装
# cd /usr/local/src# tar zxvf nginx-1.2.7.tar.gz# cd nginx-1.2.7# ./configure --prefix=/usr --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --user=nginx --group=nginx --with-http_ssl_module --with-http_flv_module --with-http_stub_status_module --with-http_gzip_static_module --http-client-body-temp-path=/var/tmp/nginx/client/ --http-proxy-temp-path=/var/tmp/nginx/proxy/ --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi --http-scgi-temp-path=/var/tmp/nginx/scgi --with-pcre# make && make install
说明:如果想使用nginx的perl模块,可以通过为configure脚本添加--with-http_perl_module选项来实现,但目前此模块仍处于实验性使用阶段,可能会在运行中出现意外,因此,其实现方式这里不再介绍。如果想使用基于nginx的cgi功能,也可以基于FCGI来实现,具体实现方法请参照相关文档
3.为nginx提供SysV init脚本。
新建文件/etc/rc.d/init.d/nginx,内容如下:
# vim /etc/rc.d/init.d/nginx //添加如下内容#!/bin/sh## nginx - this script starts and stops the nginx daemon## chkconfig: - 85 15# description: Nginx is an HTTP(S) server, HTTP(S) reverse # proxy and IMAP/POP3 proxy server# processname: nginx# config: /etc/nginx/nginx.conf# config: /etc/sysconfig/nginx# pidfile: /var/run/nginx.pid# Source function library.. /etc/rc.d/init.d/functions# Source networking configuration.. /etc/sysconfig/network# Check that networking is up.[ “$NETWORKING” = “no” ] && exit 0nginx=“/usr/sbin/nginx”prog=$(basename $nginx)NGINX_CONF_FILE=“/etc/nginx/nginx.conf”[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginxlockfile=/var/lock/subsys/nginxmake_dirs {# make required directoriesuser=`nginx -V 2>&1 | grep “configure arguments:” | sed 's/[^*]*--user=([^ ]*).*/1/g' -`options=`$nginx -V 2>&1 | grep 'configure arguments:'`for opt in $options; doif [ `echo $opt | grep '.*-temp-path'` ]; thenvalue=`echo $opt | cut -d “=” -f 2`if [ ! -d “$value” ]; then# echo “creating” $valuemkdir -p $value && chown -R $user $valuefifidone}start() {[ -x $nginx ] || exit 5[ -f $NGINX_CONF_FILE ] || exit 6make_dirsecho -n $“Starting $prog: ”daemon $nginx -c $NGINX_CONF_FILEretval=$?echo[ $retval -eq 0 ] && touch $lockfilereturn $retval}stop() {echo -n $“Stopping $prog: ”killproc $prog -QUITretval=$?echo[ $retval -eq 0 ] && rm -f $lockfilereturn $retval}restart() {configtest || return $?stopsleep 1start}reload() {configtest || return $?echo -n $“Reloading $prog: ”killproc $nginx -HUPRETVAL=$?echo}force_reload() {restart}configtest() {$nginx -t -c $NGINX_CONF_FILE}rh_status() {status $prog}rh_status_q() {rh_status >/dev/null 2>&1}case “$1” instart)rh_status_q && exit 0$1;;stop)rh_status_q || exit 0$1;;restart|configtest)$1;;reload)rh_status_q || exit 7$1;;force-reload)force_reload;;status)rh_status;;condrestart|try-restart)rh_status_q || exit 0;;*)echo $“Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}”exit 2esac
而后为此脚本赋予执行权限
# chmod +x /etc/rc.d/init.d/nginx
添加至服务管理列表,并让其开机自动启动
# chkconfig --add nginx# chkconfig nginx on# service nginx start
而后就可以启动服务并测试了:
在浏览器输入服务器IP地址可以看到如下的欢迎界面,说明nginx已安装成功,
三、安装mysql-5.6.10
1.新建用户和数据目录。
# mkdir -pv /mydata/data# groupadd -r mysql# useradd -g mysql -r -s /sbin/nologin -M -d /mydata/data mysql# chown -R mysql:mysql /mydata/data
2.安装并初始化mysql。
# tar zxvf mysql-5.6.10-linux-glibc2.5-i6862.6-i686.tar.gz -C /usr/local# cd /usr/local/# ln -sv mysql-5.6.10-linux-glibc2.5-i686 mysql# cd mysql# chown -R mysql:mysql .# scripts/mysql_install_db --user=mysql --datadir=/mydata/data# chown -R root .
3.为mysql提供主配置文件。
# cd /usr/local/mysql# cp support-files/my-default.cnf /etc/my.cnf//并修改此文件在[mysqld]字段内添加如下行指定mysql数据文件的存放位置datadir = /mydata/data
4.为mysql配置sysv服务脚本
# cd /usr/local/mysql# cp support-files/mysql.server /etc/rc.d/init.d/mysqld//添加至服务列表:# chkconfig --add mysqld# chkconfig mysqld on//而后就可以启动服务测试使用了。# service mysqld start
为了使用mysql的安装符合系统使用规范,并将其开发组件导出给系统使用,这里还需要进行如下步骤:
5.输出mysql的man手册至man命令的查找路径。
编辑/etc/man.config,添加如下行即可
MANPATH /usr/local/mysql/man添加后效果如上图。
6.输出mysql的头文件至系统头文件路径/usr/include
这可以通过简单的创建链接实现
# ln -sv /usr/local/mysql/include /usr/include/mysql
7.输出mysql的库文件给系统库查找路径。
# echo '/usr/local/mysql/lib' > /etc/ld.so.conf.d/mysql.conf//而后让系统重新载入系统库:# ldconfig
8.修改PATH环境变量,让系统可以直接使用mysql的相关命令。
# echo “export PATH=$PATH:/usr/local/mysql/bin ” >/etc/profile.d/mysql.sh# source /etc/profile.d/mysql.sh
四、编译安装php-5.2.17
1.解决依赖关系。
编译的php支持mcrypt、mhash扩展和libevent,需要安装如下的软件包。
# yum install libmcrypt libmcrypt-devel mcrypt mhash mhash-devel libtool-ltdl libtool-ltdl-devel -y//安装libiconv# cd /usr/local/src# tar -zxvf libiconv-1.14.tar.gz# cd libiconv-1.14# ./configure --prefix=/usr/local# make && make install//安装libevent# cd /usr/local/src# tar zxvf libevent-2.0.21-stable.tar.gz# cd libevent-2.0.21-stable# ./configure# make && make install
说明:libevent是一个异步事件通知库文件,其API提供了在某文件描述上发生某事件时或其超时时执行回调函数的机制,它主要用来替换事件驱动的网络服务器上的event loop机制。目前来说, libevent支持/dev/poll、kqueue、select、poll、epoll及Solaris的event ports。
2.编译安装php-5.2.17
说明:PHP-FPM 是 一个 PHP FastCGI 进程管理器,即PHP FastCGI Progress Manager.FastCGI是一个可伸缩的,高速地在web server和脚本语言间交互的接口。FastCGI的主要优点是把动态语言和web server分离开来。这种技术允许把web server和动态语言运行在不同的主机上,以大规模扩展和改进安全性而不损失生产效率。
php-fpm可以和任何支持远端FastCGI的web server工作。在php-5.3.4版本之后,php-fpm已经被包含在core里边了,但php5.2.*默认是没有php-fpm的,还需要下载一个补丁包php-5.2.17-fpm-0.5.14.diff.gz,来为php打上php-fpm的补丁。
//解压php# tar zxvf php-5.2.17.tar.gz//为php打补丁,在php目录外执行# gzip -cd php-5.2.17-fpm-0.5.14.diff.gz | patch -d php-5.2.17 -p1
接下来编译安装PHP
# cd php-5.2.17# ./configure --prefix=/usr/local/php--with-mysql=/usr/local/mysql--with-openssl --enable-fpm--enable-sockets--enable-sysvshm--with-mysqli=/usr/local/mysql/bin/mysql_config--enable-mbstring--with-freetype-dir--with-jpeg-dir--with-png-dir--with-zlib-dir--with-libxml-dir=/usr--enable-xml--with-mhash--with-mcrypt--with-config-file-path=/etc--with-config-file-scan-dir=/etc/php.d--with-bz2 --with-curl--with-iconv=/usr/local/--enable-fastcgi --with-mcrypt
说明:如果前面第1步解决依赖关系时安装mcrypt相关的两个rpm包,此./configure命令可以带上--with-mcrypt选项以让php支持mycrpt扩展。--with-snmp选项则用于实现php的SNMP扩展,但此功能要求提前安装net-snmp相关软件包。
# make# make test# make intall
3.为php提供配置文件
# cp php.ini-dist /etc/php.ini//在php.ini的配置中把(在第520行);cgi.fix_pathinfo=0 改为cgi.fix_pathinfo=1
4.编辑php-fpm的配置文件
# vim /usr/local/php/etc/php-fpm.conf//修改如下几行(62-66行)Unix user of processesUnix group of processes//去掉 把其中的nobody改成nginx
修改后如下图
接下来就可以启动php-fpm了
# /usr/local/php/sbin/php-fpm start//使用如下命令来验正# ps aux | grep php-fpm
看到命令输出有中几个php-fpm进程就说明启动成功了。
五、整合nginx和php5
1.编辑/etc/nginx/nginx.conf,启用如下选项(65-71行)
location ~ .php$ {root html;fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;include fastcgi_params;}
2.在所支持的主页面格式中添加php格式的主页,类似如下:
location / {root html;index index.php index.html index.htm;}//修改fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;//为fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
3.而后重新载入nginx的配置文件进行测试。
# service nginx reload
在/usr/html新建index.php的测试页面,测试php是否能正常工作
# cat > /usr/html/index.php << EOF
接着就可以通过浏览器访问此测试页面了。
可以看到此时的zned版本,这个是不支持shopex安装的。
六、安装zend
# cd /usr/local/src# tar zxvf ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz# cd ZendOptimizer-3.3.3-linux-glibc23-i386# ./install
会打开一个图形界面进行安装,安装过程很简单。
选ok,进入下一步
这个是类似于免责声明之类的东西,直接进入下一步
点yes进入下一步
这一步是设置zend的安装目录,使用默认即可。
这个是选择php.ini的位置,因为安装程序要修改php.ini,默认就在etc下所有不需修改
这一步要注意了,因为是一的web server是ngnix这里要选No直接点ok进入下一步
点ok完成安装,重启一下nginx和php
# service nginx restart# /usr/local/php/sbin/php-fpm restart
再查看一下zend的版本,看到ZendOptimizer-3.3.3 的字样说明zend安装成功了。
七、安装网站测试
把下载好的网站程序上传到网站根目录,进行安装测试,安装过程很简单。默认打开时会提示一些文件和目录没有写权限,按照提示给对应的文件设置一下权限即可。我这里是已经修改过的,就直接安装了。
点同意进入下一步。
填入数据库连接,选择对应的数据库,进入下一步。
设置管理员密码,这里可以看到使用的nginx版本,点开始安装,安装过程很快。
接下来shopex会联网激活,之后就可以打开网站后台进行数据的导入了。
小结:本文是一个基本的LNMP环境搭建,是本人安装过程的一个总结,仅供有类型需求的朋友参考考用,如发现内容有误欢迎留言指出,由于时间仓促文中一些注解没来得及添加,有不明白的可以查阅一下相关的帮助文档,我这里就不再一一说明了。
篇4:LNMP关闭MySQL日志保护硬盘空间linux服务器应用
今天发现VPS硬盘居然快满了,
第一反应是:肯定是某个东西的日志文件造成的,因为以前在WINDOWS下有过类似的经历。
分析了一下,找到原因:MYSQL日志文件。
大家也可以用下面的命令查一下(如果不是LNMP,路径可能不同):
1du -h --max-depth=1 /usr/local/mysql/var/*
如果看到大量大文件,且名为 mysql-bin.000014 这样的,说明你也需要关闭日志文件,因为你不知道哪一天它们会把你VPS的硬盘塞满,
用WINSCP把这些文件删除吧。
如何关闭:
1vi /etc/my.cnf
找到:
1log-bin=mysql-bin
2binlog_format=mixed
将这两行注释掉,前面加上#
然后保存。
最后用下面的指令重启下LNMP。收工。
1/root/lnmp restart
篇5:LNMP升级Nginx,PHP,MYSQL的方法linux服务器应用
目前最新的LNMP是0.9-full版本,可能要照顾一些低配置的VPS,所以使用的PHP,Mysql,Nginx都不是最新的版本,如果你的VPS是比较高配置的,建议大家自己手动升级。目前建议升级到的版本:PHP – 5.3.20,Mysql – 5.5.29,Nginx – 1.2.6。(mysql5.5虽然有出众的性能,但是也很占用内存,所以建议内存小于512M的VPS不要升级)
LNMP集成环境已经提供了PHP和Nginx的升级脚本,即upgrade_php.sh和upgrade_nginx.sh。当我们需要升级PHP或Nginx的时候,只需要执行这两个脚本然后根据提示输入要升级到的相应的PHP或Nginx的版本好就可以自动升级了。但是,到目前为止LNMP最新版还没有提供Mysql的升级脚本。不过另有高人为LNMP提供了Mysql的升级脚本,目前该脚本源码放在google code上,项目地址:code.google.com/p/huiwei19。
废话不多说,下面介绍详细的升级步骤:
1,下载mysql升级脚本
执行以下命令下载升级脚本:
wget huiwei19.googlecode.com/files/upgrade_mysql.sh
下载完成后赋予该文件可执行权限:
chmod 755 upgrade_mysql.sh
2,安装cmake
由于mysql源码需要使用cmake工具编译,所以首先要检测你的环境是否安装了cmake,如果没有则需要安装cmake。(该升级脚本虽然会自动检测安装cmake,但是有时候安装会出错,我升级了几台VPS自动安装cmake都出错了,所以建议大家手动安装cmake)
首先,下载cmake。可以在其 (www.cmake.org)下载。
wget www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gz
然后执行
tar -zxvf cmake-2.8.10.2.tar.gz
cd cmake-2.8.10.2
./configure
gmake
make install
当cmake安装成功就可以升级mysql了,
3,升级MYSQL
升级有风险,大家在升级前一定要备份好数据库。这个升级脚本会自动把旧的数据库重命名为mysql.old。
升级mysql和升级php以及nginx一样,直接执行以下mysql升级脚本就会自动进入升级了,根据提示输入想要升级到的版本号,按任意键系统就会自动下载源码包编译安装mysql了。
./upgrade_mysql.sh
当mysql安装完成后执行以下代码,避免data目录权限问题:
chown -R mysql:mysql /usr/local/mysql/data
再执行下面的代码并输入Mysql密码,修复5.1.x升级到5.5.x的一系列错误:
/usr/local/mysql/bin/mysql_upgrade -u root -p
成功执行到这里,说明你的mysql已经升级成功。但是如果要在php中正常使用mysql,还需要重新编译PHP,否则没有对应的libmysqlclient.so。这也是我把mysql升级放到第一的原因。接下来我们升级PHP。
4,升级PHP
升级PHP比较简单,LNMP已经提供了PHP升级脚本,所以直接执行下面的代码,根据提示输入要升级到的版本号系统就会自动下载PHP源码编译安装。./upgrade_php.sh
重新编译PHP后,如果你使用了eAccelerator,那么你还需要重新编译安装eAccelerator,这个也是直接执行LNMP的eAccelerator安装脚本就可以了。
./eaccelerator.sh
5,升级Nginx
升级Nginx方法跟升级PHP一样,也很简单,只需要执行以下升级脚本,输入版本号就会自动升级了。
./upgrade_nginx.sh
到这里,你的Mysql,PHP,Nginx就全部升级完成。我目前升级比较顺利,除cmake不能自动安装外,没有出现其他任何问题,如果大家升级遇到问题,可以在这里评论大家共同解决。
篇6:LNMP 一键安装包 web 服务器启用 mail 函数linux服务器应用
LNMP 一键安装包,站长们应该很熟悉,该安装包省去了站长们安装 LNMP 中的许多配置问题,很多东西 LNMP 都已经解决了,唯独发现一样东东就是 sendmail 服务安装之后邮件也无法使用,其实有一个配置需要我们手动处理一下,这里的实例配置系统为:Ubuntu 12.04。
其他 Linux 应该差距不大。首先要使用 mail() 函数,我们需要安装 Sendmail,还有相关依赖程序:
sudo apt-get install sendmail php-mail postfix
然后配置 php.ini,
vi /usr/local/php/etc/php.ini
找到下面的;sendmail_path = 按照下面的内容修改:
sendmail_path = /usr/sbin/sendmail -i -t
保存之后,重启sendmail、Lnmp:
/etc/init.d/sendmail restart
/root/lnmp restart
OK!就是这么简单。
★ 学习心得如何总结
★ 市场报告
★ Discuz! X2.5与UCenter通信失败常见症状及解决方法
【和LNMP相比,LNMPA是否效率更高?linux服务器应用(共6篇)】相关文章:
Linux系统中获取路径的文件名的方法2023-10-08
PHP中级开发工程师的具体职责范围2023-03-25
PHP高级开发工程师的工作职责范本2022-10-17
面试的个人职业生涯规划2023-02-20
海事管理专业求职信2023-01-14
PHP中级开发工程师岗位的基本职责说明2022-05-08
公共卫生管理专业求职信2023-09-01
安全文明出行心得感悟2022-05-04
php实习报告2022-10-05
工程项目管理专业求职信2022-11-30