LinuxNMP编译安装运行环境.docx
- 文档编号:13918211
- 上传时间:2023-06-19
- 格式:DOCX
- 页数:18
- 大小:320.70KB
LinuxNMP编译安装运行环境.docx
《LinuxNMP编译安装运行环境.docx》由会员分享,可在线阅读,更多相关《LinuxNMP编译安装运行环境.docx(18页珍藏版)》请在冰点文库上搜索。
LinuxNMP编译安装运行环境
LinuxNMP编译安装运行环境
---编写作者:
WangheNi
诸位业界同仁/朋友们:
大家好:
LNMP(Linux+Nginx+Mysql+PHP),是当前互联网站的动态webPHP解析技术与LAMP(Linux+Apache+Mysql+PHP)相似;nginx[enginex]是IgorSysoev编写的一个HTTP和反向代理服务器,另外它也可以作为邮件代理服务器。
从2004开始已经在众多流量很大的俄罗斯网站上使用,包括Yandex、Mail.Ru、VKontakte,以及Rambler。
据Netcraft统计,在2011年10月份,世界上最繁忙的网站中有7.84%使用Nginx作为其服务器或者代理服务器。
Nginx专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率,支持内核Poll模型,能经受高负载的考验,有报告表明能支持高达50,000个并发连接数,Nginx已经因为它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名;在国内,已经有多家网站使用Nginx作为Web服务器或反向代理服务器,如网易新闻,迅雷在线等….
如何在linux中搭建基于Nginx技术的PHPweb运行环境?
当你学习完本文档内容后,你将会有能力去搭建一个高效、稳定、功能丰富的WEB服务器,好了,接下来请跟随我一起进入Nginx的世界吧……
一,工作目标
二,软件准备
三,Linux系统安装及yum环境配置
四,开始编译安装
五,完成测试
Name:
倪汪和
QQ:
375282602
MSN:
NwhLs@
E-MaiL:
NwhLs@
Web:
一,工作目标
二,软件装备
1、下载nginx
http:
//nginx.org/download/
2、下载pcre(支持nginx伪静态)
ftp:
//ftp.csx.cam.ac.uk/pub/software/programming/pcre/
3、下载MySQL
4、下载php
5、下载cmake(MySQL编译工具)
http:
//www.cmake.org/files/v2.8/cmake-2.8.8.tar.gz
6、下载libmcrypt(PHPlibmcrypt模块)
ftp:
//mcrypt.hellug.gr/pub/crypto/mcrypt/libmcrypt/libmcrypt-2.5.7.tar.gz
7、下载ZendGuard
以上软件包使用WinSCP工具上传到/usr/soft目录
WinSCP下载地址:
将下载的源码程序借助WinSCP软件上传到System的/usr/soft目录中
三,Linux系统安装及yum环境配置
1,Centos6.x系统安装不在阐述
2,Yum环境搭建
mkdir/mnt/cdrom|mount/dev/cdrom/mnt/cdrom
[root@cent6usr]#vim/etc/yum.repos.d/CentOS-Media.repo
[c6-media]
name=CentOS-$releasever-Media
baseurl=file:
///mnt/cdrom/
file:
///media/CentOS/
file:
///media/CentOS/
gpgcheck=1
enabled=1
gpgkey=file:
///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
保存退出,测试yumgrouplist.
3,安装编译工具及库文件
rpm-qa|grephttpd
rpm-qa|grepmysql
rpm-qa|grepphp
rpm-ephp
rpm-ehttpd
rpm-emysql
yum-yremovehttpd*
yum-yremovephp*
yum-yremovemysql*
yum-yremovephp-mysql
yum-yinstallmakescreengccgcc-c++flexbisonfilelibtoollibtool-libsautoconfkernel-devellibjpeglibjpeg-devellibpnglibpng-develgdfreetypefreetype-devellibxml2libxml2-develzlibzlib-develglib2glib2-develbzip2bzip2-devellibeventncursesncurses-develcurlcurl-devele2fsprogse2fsprogs-develkrb5krb5-devellibidnlibidn-developensslopenssl-develvim-minimalnanogettextgettext-develncurses-develgmp-develunziplibcap
或
yum-yinstallmakescreengccgcc-c++autoconflibjpeglibjpeg-devellibpnglibpng-develfreetypefreetype-devellibxml2libxml2-develzlibzlib-develglibcglibc-develglib2glib2-develbzip2bzip2-develncursesncurses-develcurlcurl-devele2fsprogse2fsprogs-develkrb5krb5-devellibidnlibidn-developensslopenssl-developenldapopenldap-develnss_ldapopenldap-clientsopenldap-servers
四,开始编译安装
以下是用putty工具远程登录到服务器,在命令行下面操作的
1,安装cmake
cd/usr/soft
tar-xzvfcmake-2.8.9.tar.gz
cdcmake-2.8.9
./configure
make
makeinstall
2,安装MySQL
groupaddmysql
useradd-gmysqlmysql-s/bin/false
mkdir-p/data/mysql
chown-Rmysql:
mysql/data/mysql
mkdir-p/usr/local/mysql
cd/usr/soft
tar-xzvfmysql-5.5.27.tar.gz
cdmysql-5.5.27
cmake.-DCMAKE_INSTALL_PREFIX=/usr/local/mysql-DMYSQL_DATADIR=/data/mysql-DSYSCONFDIR=/etc
make
makeinstall
cd/usr/local/mysql
cp./support-files/my-f/etc/f
vim/etc/f
datadir=/data/mysql
./scripts/mysql_install_db--user=mysql
cp./support-files/mysql.server/etc/rc.d/init.d/mysqld
chmod755/etc/init.d/mysqld
chkconfigmysqldon
vim/etc/rc.d/init.d/mysqld
basedir=/usr/local/mysql
datadir=/data/mysql
servicemysqldstart
vim/etc/profile
exportPATH=$PATH:
/usr/local/mysql/bin
ln-s/usr/local/mysql/lib/mysql/usr/lib/mysql
ln-s/usr/local/mysql/include/mysql/usr/include/mysql
shutdown-rnow
mysql_secure_installation按Y确定,输入密码
servicemysqldrestart#重启
到此,mysql安装完成!
3,安装pcre
cd/usr/soft
mkdir/usr/local/pcre
tar-zxvfpcre-8.31.tar.gz
cdpcre-8.31
./configure--prefix=/usr/local/pcre
make
makeinstall
4、安装nginx
cd/usr/soft
groupaddwww
useradd-gwwwwww-s/bin/false
tar-zxvfnginx-1.3.6.tar.gz
cdnginx-1.3.6
./configure--prefix=/usr/local/nginx--without-http_memcached_module--user=www--group=www--with-http_stub_status_module--with-openssl=/usr/--with-pcre=/usr/soft/pcre-8.31
注意:
--with-pcre=/usr/local/src/pcre-8.31指向的是源码包解压的路径,而不是安装的路径,否则会报错
make
makeinstall
/usr/local/nginx/sbin/nginx
killall-9nginx
vim/etc/rc.d/init.d/nginx
#################################################################
#!
/bin/sh
#
#nginx-thisscriptstartsandstopsthenginxdaemon
#
#chkconfig:
-8515
#description:
NginxisanHTTP(S)server,HTTP(S)reverse\
#proxyandIMAP/POP3proxyserver
#processname:
nginx
#config:
/etc/nginx/nginx.conf
#config:
/etc/sysconfig/nginx
#pidfile:
/var/run/nginx.pid
#Sourcefunctionlibrary.
./etc/rc.d/init.d/functions
#Sourcenetworkingconfiguration.
./etc/sysconfig/network
#Checkthatnetworkingisup.
["$NETWORKING"="no"]&&exit0
nginx="/usr/local/nginx/sbin/nginx"
prog=$(basename$nginx)
NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"
[-f/etc/sysconfig/nginx]&&./etc/sysconfig/nginx
lockfile=/var/lock/subsys/nginx
start(){
[-x$nginx]||exit5
[-f$NGINX_CONF_FILE]||exit6
echo-n$"Starting$prog:
"
daemon$nginx-c$NGINX_CONF_FILE
retval=$?
echo
[$retval-eq0]&&touch$lockfile
return$retval
}
stop(){
echo-n$"Stopping$prog:
"
killproc$prog-QUIT
retval=$?
echo
[$retval-eq0]&&rm-f$lockfile
return$retval
killall-9nginx
}
restart(){
configtest||return$?
stop
sleep1
start
}
reload(){
configtest||return$?
echo-n$"Reloading$prog:
"
killproc$nginx-HUP
RETVAL=$?
echo
}
force_reload(){
restart
}
configtest(){
$nginx-t-c$NGINX_CONF_FILE
}
rh_status(){
status$prog
}
rh_status_q(){
rh_status>/dev/null2>&1
}
case"$1"in
start)
rh_status_q&&exit0
$1
;;
stop)
rh_status_q||exit0
$1
;;
restart|configtest)
$1
;;
reload)
rh_status_q||exit7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q||exit0
;;
*)
echo$"Usage:
$0{start|stop|status|restart|condrestart|try-restart|reload|force-reload|
configtest}"
exit2
esac
#################################################################
chmod775/etc/rc.d/init.d/nginx
chkconfignginxon
/etc/rc.d/init.d/nginxrestart
5、安装libmcrypt
cd/usr/soft
tar-zxvflibmcrypt-2.5.7.tar.gz
cdlibmcrypt-2.5.7
./configure
make
makeinstall
6、安装php
cd/usr/soft
tar-zvxfphp-5.4.7.tar.gz
cdphp-5.4.7
mkdir-p/usr/local/php5
./configure--prefix=/usr/local/php5--with-config-file-path=/usr/local/php5/etc--with-mysql=/usr/local/mysql--with-mysqli=/usr/local/mysql/bin/mysql_config--with-mysql-sock=/tmp/mysql.sock--with-gd--with-iconv--with-zlib--enable-xml--enable-magic-quotes--enable-safe-mode--enable-bcmath--enable-shmop--enable-sysvsem--enable-inline-optimization--with-curlwrappers--enable-mbregex--enable-fpm--enable-mbstring--enable-ftp--enable-gd-native-ttf--with-openssl--enable-pcntl--enable-sockets--with-xmlrpc--enable-zip--enable-soap--without-pear--with-gettext--enable-session--with-mcrypt--with-curl
make
makeinstall
cpphp.ini-production/usr/local/php5/etc/php.ini
rm-rf/etc/php.ini
ln-s/usr/local/php5/etc/php.ini/etc/php.ini
cp/usr/local/php5/etc/php-fpm.conf.default/usr/local/php5/etc/php-fpm.conf
vim/usr/local/php5/etc/php-fpm.conf
user=www
group=www
pid=run/php-fpm.pid
cp/usr/soft/php-5.4.7/sapi/fpm/init.d.php-fpm/etc/rc.d/init.d/php-fpm
chmod+x/etc/rc.d/init.d/php-fpm
chkconfig--level35php-fpmon
vim/usr/local/php5/etc/php.ini
找到:
disable_functions=
修改为:
disable_functions=
passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,
proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,
popepassthru,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,
checkdnsrr,getservbyname,getservbyport,disk_total_space,posix_ctermid,
posix_get_last_error,posix_getcwd,posix_getegid,posix_geteuid,posix_getgid,
posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,
posix_getpgrp,posix_getpid,posix_getppid,posix_getpwnam,posix_getpwuid,
posix_getrlimit,posix_getsid,posix_getuid,posix_isatty,
posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid,
posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname
posix_uname
找到:
;date.timezone=
修改为:
date.timezone=PRC#设置时区
找到:
expose_php=On
修改为:
expose_php=OFF#禁止显示php版本的信息
7、配置nginx支持php
vim/usr/local/nginx/conf/nginx.conf
userwwwwww;
indexindex.phpindex.htmlindex.htm;#添加index.php
#passthePHPscriptstoFastCGIserverlisteningon127.0.0.1:
9000
#
location~\.php${
roothtml;
fastcgi_pass127.0.0.1:
9000;
fastcgi_indexindex.php;
fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name;
includefastcgi_params;
}
#取消FastCGIserver部分location的注释,并要注意fastcgi_param行的参数,改为$document_root$fastcgi_script_name,或者使用绝对路径
/etc/init.d/nginxrestart#重启nginx
8、配置php支持ZendGuard
安装ZendGuard
cd/usr/soft
mkdir/usr/local/zend
tar-xzvfZend*.gz
cpZend*/php-5.3.x/ZendGuardLoader.so/usr/local/zend/
vim/usr/local/php5/etc/php.ini
在最后位置添加以下内容
[ZendGuard]
zend_extension=/usr/local/zend/ZendGuardLoader.so
zend_loader.enable=1
zend_loader.disable_licensing=0
zend_loader.obfuscation_level_support=3
zend_loader.license_path=
9,安装phpmyadmin
cd/usr/soft
tar-xzvfphpMyAdmin*.gz
mvphpMyAdmin*//usr/local/nginx/html/phpmyadmin
10,测试
cd/usr/l
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- LinuxNMP 编译 安装 运行 环境