CentOS教程之CentOS 6.3 纯编译装置Nginx+MySQL+PHP
小知识:Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。申明:
操纵体系:CentOS6.332位
筹办篇:
1、设置好IP、DNS、网关,确保利用近程毗连工具可以毗连办事器
2、设置防火墙,开启80端口、3306端口
vi/etc/sysconfig/iptables
-AINPUT-mstate--stateNEW-mtcp-ptcp--dport80-jACCEPT#同意80端口经由过程防火墙
-AINPUT-mstate--stateNEW-mtcp-ptcp--dport3306-jACCEPT#同意3306端口经由过程防火墙
出格提醒:良多网友把这两条划定规矩增加到防火墙设置的最初一行,招致防火墙启动失利,准确的应当是增加到默许的22端口这条划定规矩的上面
增加好以后防火墙划定规矩以下所示:
#########################################################
#Firewallconfigurationwrittenbysystem-config-firewall
#Manualcustomizationofthisfileisnotrecommended.
*filter
:INPUTACCEPT
:FORWARDACCEPT
:OUTPUTACCEPT
-AINPUT-mstate--stateESTABLISHED,RELATED-jACCEPT
-AINPUT-picmp-jACCEPT
-AINPUT-ilo-jACCEPT
-AINPUT-mstate--stateNEW-mtcp-ptcp--dport22-jACCEPT
-AINPUT-mstate--stateNEW-mtcp-ptcp--dport80-jACCEPT
-AINPUT-mstate--stateNEW-mtcp-ptcp--dport3306-jACCEPT
-AINPUT-jREJECT--reject-withicmp-host-prohibited
-AFORWARD-jREJECT--reject-withicmp-host-prohibited
COMMIT
#########################################################
/etc/init.d/iptablesrestart#最初重启防火墙使设置失效
3、封闭SELINUX
vi/etc/selinux/config
#SELINUX=enforcing#正文失落
#SELINUXTYPE=targeted#正文失落
SELINUX=disabled#增添
:wq保留,封闭
shutdown-rnow#重启体系
四、体系商定
软件源代码包寄存地位:/usr/local/src
源码包编译装置地位:/usr/local/软件名字
5、下载软件包
1、下载nginx(今朝不乱版)
http://nginx.org/download/nginx-1.2.2.tar.gz
2、下载pcre(撑持nginx伪静态)
ftp://ftp.csx.cam.ac.uk/pub/soft...re/pcre-8.31.tar.gz
4、下载MySQL
http://cdn.mysql.com/Downloads/MySQL-5.5/mysql-5.5.25a.tar.gz
5、下载php
http://cn.php.net/distributions/php-5.4.5.tar.gz
6、下载cmake(MySQL编译工具)
http://www.ckuyun.com/files/v2.8/cmake-2.8.8.tar.gz
7、下载libmcrypt(PHPlibmcrypt模块)
http://nchc.dl.sourceforge.net/p...mcrypt-2.5.8.tar.gz
以上软件包利用工具上传到/usr/local/src目次
6、装置编译工具及库文件(利用CentOSyum下令装置)
yuminstallmakeapr*autoconfautomakecurl-develgccgcc-c++zlib-developensslopenssl-develpcre-develgdkernelkeyutilspatchperlkernel-headerscompat*mpfrcppglibclibgomplibstdc++-develpplcloog-pplkeyutils-libs-devellibcom_err-devellibsepol-devellibselinux-develkrb5-develzlib-devellibXpm*freetypelibjpeg*libpng*php-commonphp-gdncurses*libtool*libxml2libxml2-develpatch
装置篇
以下是用putty工具近程登录到办事器,在下令行上面操纵的
1、装置cmake
cd/usr/local/src
tarzxvfcmake-2.8.8.tar.gz
cdcmake-2.8.8
./configure
make#编译
makeinstall#装置
2、装置mysql
groupaddmysql#增加mysql组
useradd-gmysqlmysql-s/bin/false#创立用户mysql并到场到mysql组,不同意mysql用户间接登录体系
mkdir-p/data/mysql#创立MySQL数据库寄存目次
chown-Rmysql:mysql/data/mysql#设置MySQL数据库目次权限
mkdir-p/usr/local/mysql#创立MySQL装置目次
cd/usr/local/src
tarzxvfmysql-5.5.25a.tar.gz#解压
cdmysql-5.5.25a
cmake.-DCMAKE_INSTALL_PREFIX=/usr/local/mysql-DMYSQL_DATADIR=/data/mysql-DSYSCONFDIR=/etc#设置
make#编译
makeinstall#装置
cd/usr/local/mysql
cp./support-files/my-huge.cnf/etc/my.cnf#拷贝设置文件(注重:假如/etc目次上面默许有一个my.cnf,间接掩盖便可)
vi/etc/my.cnf#编纂设置文件,在局部增添上面一行
datadir=/data/mysql#增加MySQL数据库路径
:wq!#保留加入
./scripts/mysql_install_db--user=mysql#天生mysql体系数据库
cp./support-files/mysql.server/etc/rc.d/init.d/mysqld#把Mysql到场体系启动
chmod755/etc/init.d/mysqld#增添实行权限
chkconfigmysqldon#到场开机启动
vi/etc/rc.d/init.d/mysqld#编纂
basedir=/usr/local/mysql#MySQL步伐装置路径
datadir=/data/mysql#MySQl数据库寄存目次
servicemysqldstart#启动
vi/etc/profile#把mysql办事到场体系情况变量:在最初增加上面这一行
exportPATH=$PATH:/usr/local/mysql/bin
:wq!#保留加入
上面这两行把myslq的库文件链接到体系默许的地位,如许你在编译相似PHP等软件时能够不必指定mysql的库文件地点。
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#设置Mysql暗码
依据提醒按Y回车
然后输出2次暗码
持续按Y回车,直到设置完成
大概间接修正暗码/usr/local/mysql/bin/mysqladmin-uroot-ppassword"123456"#修正暗码
servicemysqldrestart#重启
到此,mysql装置完成!
3、装置pcre
cd/usr/local/src
mkdir/usr/local/pcre#创立装置目次
tarzxvfpcre-8.31.tar.gz
cdpcre-8.31
./configure--prefix=/usr/local/pcre#设置
make
makeinstall
4、装置nginx
cd/usr/local/src
groupaddwww#增加www组
useradd-gwwwwww-s/bin/false#创立nginx运转账户www并到场到www组,不同意www用户间接登录体系
tarzxvfnginx-1.2.2.tar.gz
cdnginx-1.2.2
./configure--prefix=/usr/local/nginx--without-http_memcached_module--user=www--group=www--with-http_stub_status_module--with-openssl=/usr/--with-pcre=/usr/local/src/pcre-8.31
注重:--with-pcre=/usr/local/src/pcre-8.31指向的是源码包解压的路径,而不是装置的路径,不然会报错
make
makeinstall
/usr/local/nginx/sbin/nginx#启动nginx
设置nginx开启启动
vi/etc/rc.d/init.d/nginx#编纂启动文件增加上面内容
=======================================================
#!/bin/bash
#nginxStartupscriptfortheNginxHTTPServer
#itisv.0.0.2version.
#chkconfig:-8515
#description:Nginxisahigh-performancewebandproxyserver.
#Ithasalotoffeatures,butitsnotforeveryone.
#processname:nginx
#pidfile:/var/run/nginx.pid
#config:/usr/local/nginx/conf/nginx.conf
nginxd=/usr/local/nginx/sbin/nginx
nginx_config=/usr/local/nginx/conf/nginx.conf
nginx_pid=/usr/local/nginx/logs/nginx.pid
RETVAL=0
prog="nginx"
#Sourcefunctionlibrary.
./etc/rc.d/init.d/functions
#Sourcenetworkingconfiguration.
./etc/sysconfig/network
#Checkthatnetworkingisup.
[${NETWORKING}="no"]&&exit0
[-x$nginxd]||exit0
#Startnginxdaemonsfunctions.
start(){
if[-e$nginx_pid];then
echo"nginxalreadyrunning...."
exit1
fi
echo-n$"Starting$prog:"
daemon$nginxd-c${nginx_config}
RETVAL=$?
echo
[$RETVAL=0]&&touch/var/lock/subsys/nginx
return$RETVAL
}
#Stopnginxdaemonsfunctions.
stop(){
echo-n$"Stopping$prog:"
killproc$nginxd
RETVAL=$?
echo
[$RETVAL=0]&&rm-f/var/lock/subsys/nginx/usr/local/nginx/logs/nginx.pid
}
reload(){
echo-n$"Reloading$prog:"
#kill-HUP`cat${nginx_pid}`
killproc$nginxd-HUP
RETVAL=$?
echo
}
#Seehowwewerecalled.
case"$1"in
start)
start
;;
stop)
stop
;;
reload)
reload
;;
restart)
stop
start
;;
status)
status$prog
RETVAL=$?
;;
*)
echo$"Usage:$prog{start|stop|restart|reload|status|help}"
exit1
esac
exit$RETVAL
=======================================================
:wq!#保留加入
chmod775/etc/rc.d/init.d/nginx#付与文件实行权限
chkconfignginxon#设置开机启动
/etc/rc.d/init.d/nginxrestart#重启
servicenginxrestart
5、装置libmcrypt
cd/usr/local/src
tarzxvflibmcrypt-2.5.8.tar.gz#解压
cdlibmcrypt-2.5.8#进进目次
./configure#设置
make#编译
makeinstall#装置
6、装置php
cd/usr/local/src
tar-zvxfphp-5.4.5.tar.gz
cdphp-5.4.5
mkdir-p/usr/local/php5#创建php装置目次
./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-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#复制php设置文件到装置目次
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#拷贝模板文件为php-fpm设置文件
vi/usr/local/php5/etc/php-fpm.conf#编纂
user=www#设置php-fpm运转账号为www
group=www#设置php-fpm运转组为www
pid=run/php-fpm.pid#作废后面的分号
设置php-fpm开机启动
cp/usr/local/src/php-5.4.5/sapi/fpm/init.d.php-fpm/etc/rc.d/init.d/php-fpm#拷贝php-fpm到启动目次
chmod+x/etc/rc.d/init.d/php-fpm#增加实行权限
chkconfigphp-fpmon#设置开机启动
vi/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
#列出PHP能够禁用的函数,假如某些步伐必要用到这个函数,能够删除,作废禁用。
找到:;date.timezone=
修正为:date.timezone=PRC#设置时区
找到:expose_php=On
修正为:expose_php=OFF#克制显现php版本的信息
找到:short_open_tag=Off
修正为:short_open_tag=ON#撑持php短标签
7、设置nginx撑持php
vi/usr/local/nginx/conf/nginx.conf#编纂设置文件,需做以下修正
userwwwwww;#首行user往失落正文,修正Nginx运转组为wwwwww;必需与/usr/local/php5/etc/php-fpm.conf中的user,group设置不异,不然php运转堕落
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
测试篇
cd/usr/local/nginx/html/#进进nginx默许网站根目次
rm-rf/usr/local/nginx/html/*#删除默许测试页
viindex.php#编纂
<?php
phpinfo();
?>
:wq!#保留加入
chownwww.www/usr/local/nginx/html/-R#设置目次一切者
chmod700/usr/local/nginx/html/-R#设置目次权限
shutdown-rnow#重启体系
在扫瞄器中翻开办事器IP地点,会看到上面的界面,设置乐成
办事器相干操纵下令
servicenginxrestart#重启nginx
servicemysqldrestart#重启mysql
/usr/local/php5/sbin/php-fpm#启动php-fpm
/etc/rc.d/init.d/php-fpmrestart#重启php-fpm
/etc/rc.d/init.d/php-fpmstop#中断php-fpm
/etc/rc.d/init.d/php-fpmstart#启动php-fpm
#############################################################################
备注:
nginx默许站点目次是:/usr/local/nginx/html/
权限设置:chownwww:www/usr/local/nginx/html/-R
MySQL数据库目次是:/data/mysql
权限设置:chownmysql.mysql-R/data/mysql
至此,CentOS6.3编译装置Nginx1.2.2+MySQL5.5.25a+PHP5.4.5完成
小知识:Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。 可以说自己收获很大,基本上完成了老师布置的任务,对于拔高的题目没有去做,因为我了解我的水平,没有时间和精力去做。? 笔者五分钟后就给出了解决方法: “首先备份原文件到其他目录,然后删掉/usr/local/unispim/unispimsp.ksc,编辑 /usr/local/unispim/unispimsp.ini,最后重启动计算机 另外Linux上也有很多的应用软件,安装运行了这些软件后,你就可以在Linux上编辑文档、图?片,玩游戏、上网、播放多媒体文件等。 主流Linux发行版都自带非常详细的文档(包括手册页和FAQ),从系统安装到系统安全,针对不同层次的人的详尽文档,仔细阅读文档后40%问题都可在此解决。 随着实验课程的结束,理论课也该结束了,说实话教OS的这两位老师是我们遇到过的不错的老师(这话放这可能不太恰当). 我是学习嵌入式方向的,这学期就选修了这门专业任选课。 查阅经典工具书和Howto,特别是Howto是全球数以万计的Linux、Unix的经验总结非常有参考价值通常40%的问题同样可以解决。 通过一条缓慢的调制解调器线路,它也能操纵几千公里以外的远程系统。
页:
[1]