CentOS 6.2编译安装Nginx1.2.0+MySQL5.5.25+PHP5.3.13+博客系统WordPress3.3.2
说明:
操作系统:CentOS 6.2 32位
系统安装教程:CentOS 6.2安装(超级详细图解教程): http://www.osyunwei.com/archives/1537.html
准备篇:
一、配置好IP、DNS 、网关,确保使用远程连接工具能够连接服务器 CentOS 设置IP地址、网关、DNS教程:http://www.osyunwei.com/archives/423.html
二、配置防火墙,开启80端口、3306端口
vi /etc/sysconfig/iptables #编辑防火墙配置文件
-AINPUT-mstate--stateNEW-mtcp-ptcp--dport80-jACCEPT(允许80端口通过防火墙)
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT(允许3306端口通过防火墙)特别提示:很多网友把这两条规则添加到防火墙配置的最后一行,导致防火墙启动失败
正确的应该是添加到默认的22端口这条规则的下面,添加好之后防火墙规则如下所示:
系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容版权所有,转载请注明出处及原文链接
#########################################################
#Firewallconfigurationwrittenbysystem-config-firewall
#Manualcustomizationofthisfileisnotrecommended.
*filter
:INPUTACCEPT[0:0]
:FORWARDACCEPT[0:0]
:OUTPUTACCEPT[0:0]
-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/iptables restart #最后重启防火墙使配置生效
三、关闭SELINUX
vi/etc/selinux/config#编辑
#SELINUX=enforcing#注释掉
#SELINUXTYPE=targeted#注释掉
SELINUX=disabled#增加
:wq#保存退出
shutdown -r now #重启系统四 、系统约定
软件源代码包存放位置:/usr/local/src
源码包编译安装位置:/usr/local/软件名字
五、下载软件包
系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容版权所有,转载请注明出处及原文链接
1、下载nginx(目前最新稳定版)
http://nginx.org/download/nginx-1.2.0.tar.gz
2、下载pcre (支持nginx伪静态)
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.30.tar.gz
3、下载MySQL(目前稳定版)
http://mysql.mirror.kangaroot.net/Downloads/MySQL-5.5/mysql-5.5.25.tar.gz
4、下载php
http://cn.php.net/distributions/php-5.3.13.tar.gz
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、下载Zend Guard
http://downloads.zend.com/guard/5.5.0/ZendGuardLoader-php-5.3-linux-glibc23-i386.tar.gz
以上软件包使用WinSCP工具上传到/usr/local/src目录
WinSCP下载地址:
http://nchc.dl.sourceforge.net/project/winscp/WinSCP/4.3.7/winscp437setup-sponsored.exe
六、安装编译工具及库文件(使用CentOS yum命令安装) yum install make apr* autoconf automake curl-devel gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel gd kernel keyutils patch perl kernel-headers compat* mpfr cpp glibc libgomp libstdc++-devel ppl cloog-ppl keyutils-libs-devel libcom_err-devel libsepol-devel libselinux-devel krb5-devel zlib-devel libXpm* freetype libjpeg* libpng* php-common php-gd ncurses* libtool* libxml2 libxml2-devel patch
安装篇
以下是用putty工具远程登录到服务器,在命令行下面操作的
一、安装cmake
cd/usr/local/src
tarzxvfcmake-2.8.8.tar.gz
cdcmake-2.8.8
./configure
make#编译
make install #安装二、安装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.25.tar.gz#解压
cdmysql-5.5.25
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#编辑配置文件,在[mysqld]部分增加下面一行
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!#保存退出
系统运维www.osyunwei.com温馨提醒:qihang01原创内容版权所有,转载请注明出处及原文链接
下面这两行把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安装完成!三、安装pcre
cd/usr/local/src
mkdir/usr/local/pcre#创建安装目录
tarzxvfpcre-8.30.tar.gz
cdpcre-8.30
./configure--prefix=/usr/local/pcre#配置
make
make install四、安装 nginx
cd/usr/local/src
groupaddwww#添加www组
useradd-gwwwwww-s/bin/false#创建nginx运行账户www并加入到www组,不允许www用户直接登录系统
tarzxvfnginx-1.2.0.tar.gz
cdnginx-1.2.0
./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.30
注意:--with-pcre=/usr/local/src/pcre-8.30指向的是源码包解压的路径,而不是安装的路径,否则会报错
make
makeinstall
/usr/local/nginx/sbin/nginx#启动nginx
vi/etc/rc.d/init.d/nginx#设置nginx开启启动,编辑启动文件添加下面内容
#################################################################
#!/bin/bash
#nginxStartupscriptfortheNginxHTTPServer
#itisv.0.0.2version.
#chkconfig:-8515
#description:Nginxisahigh-performancewebandproxyserver.
#Ithasalotoffeatures,butit'snotforeveryone.
#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/nginx restart #重启五、安装libmcrypt
cd/usr/local/src
tarzxvflibmcrypt-2.5.7.tar.gz#解压
cdlibmcrypt-2.5.7#进入目录
./configure#配置
make#编译
make install #安装六、安装php
cd/usr/local/src
tar-zvxfphp-5.3.13.tar.gz
cdphp-5.3.13
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-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#复制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#取消前面的分号
cp/usr/local/src/php-5.3.13/sapi/fpm/init.d.php-fpm/etc/rc.d/init.d/php-fpm#设置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版本的信息七、配置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/nginx restart #重启nginx八、配置php支持Zend Guard
安装ZendGuard
cd/usr/local/src
mkdir/usr/local/zend#建立Zend安装目录
tarxvfzZendGuardLoader-php-5.3-linux-glibc23-i386.tar.gz#解压安装文件
cpZendGuardLoader-php-5.3-linux-glibc23-i386/php-5.3.x/ZendGuardLoader.so/usr/local/zend/#拷贝文件到安装目录
vi/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=测试篇
cd /usr/local/nginx/html/ #进入nginx默认网站根目录
rm -rf /usr/local/nginx/html/* #删除默认测试页
安装博客系统:wordpress-3.3.2中文版
下载地址:http://cn.wordpress.org/wordpress-3.3.2-zh_CN.zip
解压wordpress-3.3.2-zh_CN.zip
使用WinSCP工具把wordpress-3.3.2-zh_CN\wordpress文件夹里面的所有文件以二进制方式上
到/usr/local/nginx/html/目录
chown www.www /usr/local/nginx/html/ -R #设置目录所有者
chmod 700 /usr/local/nginx/html/ -R #设置目录权限
shutdown -r now #重启
创建MySQL数据库
mysql -uroot -p #进入mysql控制台,提示输入MySQL的root密码
create database wordpress; #建立数据库
exit; #退出
在客户端浏览器输入服务器IP地址,可以看到下面的界面
点创建一个配置文件,出现下面的界面
点现在就开始,出现下面的界面
数据库名:wordpress
用户名:root
密码:123456
数据库主机:localhost
localhost:wp_
点提交,出现下面的界面
点进行安装,出现下面的界面
站点标题:系统运维
用户名:admin
输入两次密码:
您的电子邮件:
隐身:勾选“允许我的站点出现在 Google 和 Technorati 等网站的搜索结果中。”
点安装WordPress
出现下面的界面
点登录
系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容版权所有,转载请注明出处及原文链接
用户名:admin
输入密码
登录
出现下面的界面
登录成功
备注:服务器相关操作命令
service nginx restart #重启nginx
service mysqld restart #重启mysql
/usr/local/php5/sbin/php-fpm #启动php-fpm
/etc/rc.d/init.d/php-fpm restart #重启php-fpm
/etc/rc.d/init.d/php-fpm stop #停止php-fpm
/etc/rc.d/init.d/php-fpm start #启动php-fpm
nginx默认站点目录是:/usr/local/nginx/html/
权限设置:chown www.www /usr/local/nginx/html/ -R
MySQL数据库目录是:/data/mysql
权限设置:chown mysql.mysql -R /data/mysql
至此,CentOS 6.2编译安装Nginx1.2.0+MySQL5.5.25+PHP5.3.13+博客系统WordPress3.3.2安装完成