千家信息网

CentOS 5.x,6.0如何编译安装Nginx1.2.3+MySQL5.5.15+PHP5.3.6

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章将为大家详细讲解有关CentOS 5.x,6.0如何编译安装Nginx1.2.3+MySQL5.5.15+PHP5.3.6,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章
千家信息网最后更新 2026年11月01日CentOS 5.x,6.0如何编译安装Nginx1.2.3+MySQL5.5.15+PHP5.3.6

这篇文章将为大家详细讲解有关CentOS 5.x,6.0如何编译安装Nginx1.2.3+MySQL5.5.15+PHP5.3.6,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

本安装方法,我在centos5.8 和centos6里都尝试过,是没有问题的。不过很多包,官方都没有下载的。让我们这些新手很奇怪的是,,,

为什么有的官方下载地址,能用,但是过了一段时间就不能用了。只好重新去找包了。。。。只怪yum安装版本太低了。。不然,谁想编译啊。。。。

看很多人,都养成习惯。。把这些包放到

/user/local/src

这个目录里,这可能是一个习惯吧!我也这样操作的。。把这些需要包,都下载放进去。

首先,我告诉一下大家需要下载些什么。

先进入,下载目录

一,准备软件关闭防火墙

以下是用secureCRT工具远程登录到服务器,在命令行下面操作的,不然不能复制太苦逼了。。哈哈

cd  /user/local/src

1、下载nginx(目前稳定版)

wget http://nginx.org/download/nginx-1.2.3.tar.gz

2、下载pcre (支持nginx伪静态)

wget http://downloads.sourceforge.net/project/pcre/pcre/8.31/pcre-8.31.tar.gz?use_mirror=ncu

4、下载MySQL

wget http://mirrors.sohu.com/mysql/MySQL-5.5/mysql-5.5.15.tar.gz

5、下载php

wget http://mirrors.sohu.com/php/php-5.3.6.tar.gz

6、下载cmake(MySQL编译工具,好像mysql5.x几以后必须要cmake来编译了)

wget http://www.cmake.org/files/v2.8/cmake-2.8.9.tar.gz

7、下载libmcrypt(PHPlibmcrypt模块)

wget http://downloads.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz?use_mirror=ncu

装之前,我们先改一些系统配置,centos默认,系统只开发了22端口

vi /etc/sysconfig/iptables

在

-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

下面添加

-A INPUT -m state --state NEW -m tcp -p tcp --dport,80 -j ACCEPT(允许80端口通过防火墙)-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT(允许3306端口通过防火墙)

特别提示:很多网友把这两条规则添加到防火墙配置的最后一行,导致防火墙启动失败,正确的应该是添加到默认的22端口这条规则的下面,如果你发现,你的这个和我的代码不一样,建议。你吧你的22端口例子赋值一次改成80,22,。

我还见过,我有的centos都没有这个文件,如果确实不会的新手,可以直接

/etc/init.d/iptables stop#关闭防火墙

#最后重启防火墙使配置生效

/etc/init.d/iptables restart

80端口不开,等下nginx安装好了。我们也无法访问。

二,yum安装必备软件

安装一些准备软件,也是必须软件。这些就不编译了不然太累了。。。呵呵

yum install make apr* autoconf automake 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

编译安装开始。。。。。。。。。。。。。。

三、安装libmcrypt

cd /usr/local/srctar zxvf libmcrypt-2.5.8.tar.gzcd libmcrypt-2.5.8./configuremakemake install

四、安装cmake

cd /usr/local/srctar zxvf cmake-2.8.9.tar.gzcd cmake-2.8.9./configuremakemake install

五、安装pcre

cd /usr/local/srcmkdir /usr/local/pcre #创建安装目录mkdir /usr/local/pcretar zxvf pcre-8.31.tar.gzcd pcre-8.31./configure --prefix=/usr/local/pcremake make install

以上的也可以考虑一键安装

#!/bin/sh cd /usr/local/src  tar zxvf libmcrypt-2.5.8.tar.gz  cd libmcrypt-2.5.8  ./configure  make  make installcd /usr/local/src  tar zxvf cmake-2.8.9.tar.gz  cd cmake-2.8.9  ./configure  make  make install  cd /usr/local/src  mkdir /usr/local/pcre mkdir /usr/local/pcre  tar zxvf pcre-8.31.tar.gz  cd pcre-8.31  ./configure --prefix=/usr/local/pcre  make  make install

六、安装mysql

#cd /usr/local/src
# groupadd mysql #创建mysql用户组
# useradd -g mysql mysql #创建mysql用户

#mkdir /var/mysql #创建mysql目录

#mkdir /var/mysql/data #创建存放数据目录
# chown -R mysql:mysql /var/mysql/data/

#tar zxvf mysql-5.5.23.tar.gz #解压
#cd mysql-5.5.23
#cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/var/mysql/data

#make #编译
#make install #安装
#cd /usr/local/mysql
#cp ./support-files/my-huge.cnf /etc/my.cnf #拷贝配置文件(注意:如果/etc目录下面默认有一个my.cnf,直接覆盖即可)
#vi /etc/my.cnf #编辑配置文件,在 [mysqld] 部分增加
datadir = /var/mysql/data #添加MySQL数据库路径

保存退出,然后运行以下命令
#./scripts/mysql_install_db --user=mysql #生成mysql系统数据库
#cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld #把Mysql加入系统启动
#chmod 755 /etc/init.d/mysqld #增加执行权限
#chkconfig mysqld on #加入开机启动
#vi /etc/rc.d/init.d/mysqld #编辑
basedir = /usr/local/mysql #MySQL程序安装路径
datadir = /var/mysql/data #MySQl数据库存放目录

保存退出,然后运行以下命令

===================== 支持远程登陆

#/etc/init.d/mysqld start #开启mysql服务
#mysql -u root mysql

mysql>use mysql;
mysql>desc user;
mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root";  //为root添加远程连接的能力。
mysql>update user set Password = password('xxxxxx') where User='root';
mysql>flush privileges;
mysql>exit

#/etc/init.d/mysqld restart #重启mysql

七、安装 nginx

groupadd www #添加www组
useradd -g www www -s /bin/false #创建nginx运行账户www并加入到www组,不允许www用户直接登录系统
tar zxvf nginx-0.8.55.tar.gz
cd nginx-0.8.55
./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module
make && make install
/usr/local/nginx/sbin/nginx #启动nginx
/usr/local/nginx/sbin/nginx -s stop#启动nginx
设置nginx开启启动

vi /etc/rc.d/init.d/nginx

编辑启动文件添加下面内容

#!/bin/bash# nginx Startup script for the Nginx HTTP Server# it is v.0.0.2 version.# chkconfig: - 85 15# description: Nginx is a high-performance web and proxy server.# It has a lot of features, but it's not for everyone.# processname: nginx# pidfile: /var/run/nginx.pid# config: /usr/local/nginx/conf/nginx.confnginxd=/usr/local/nginx/sbin/nginxnginx_config=/usr/local/nginx/conf/nginx.confnginx_pid=/usr/local/nginx/logs/nginx.pidRETVAL=0prog="nginx"# Source function library.. /etc/rc.d/init.d/functions# Source networking configuration.. /etc/sysconfig/network# Check that networking is up.[ ${NETWORKING} = "no" ] && exit 0[ -x $nginxd ] || exit 0# Start nginx daemons functions.start() {if [ -e $nginx_pid ];thenecho "nginx already running...."exit 1fiecho -n $"Starting $prog: "daemon $nginxd -c ${nginx_config}RETVAL=$?echo[ $RETVAL = 0 ] && touch /var/lock/subsys/nginxreturn $RETVAL}# Stop nginx daemons functions.stop() {echo -n $"Stopping $prog: "killproc $nginxdRETVAL=$?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 -HUPRETVAL=$?echo}# See how we were called.case "$1" instart)start;;stop)stop;;reload)reload;;restart)stopstart;; status)status $progRETVAL=$?;;*)echo $"Usage: $prog {start|stop|restart|reload|status|help}"exit 1esacexit $RETVAL

保存退出,然后运行以下命令:

chmod 775 /etc/rc.d/init.d/nginx #赋予文件执行权限
chkconfig nginx on #设置开机启动
/etc/rc.d/init.d/nginx restart #重启nginx
service nginx restart#重启nginx

chown -R www.www /html #设置目录所有者
chmod -R 755 /html#设置目录权限

八、安装php

tar -zvxf php-5.3.10.tar.gz
cd php-5.3.10
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-json --enable-xml --enable-mbstring --with-openssl --enable-ftp --enable-sockets --with-mysql=/usr/local/mysql --with-pdo-mysql=/usr/local/mysql --enable-fpm
make #编译
make install #安装
cp php.ini-production /usr/local/php/etc/php.ini #复制php配置文件到安装目录
rm -rf /etc/php.ini #删除系统自带配置文件
ln -s /usr/local/php/etc/php.ini /etc/php.ini #添加软链接
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf #拷贝模板文件为php-fpm配置文件
vi /usr/local/php/etc/php-fpm.conf #编辑

pid = run/php-fpm.pid #取消前面的分号,然后在下面的user及group处修改以下信息:
user = www #设置php-fpm运行账号为www
group = www #设置php-fpm运行组为www

保存退出,接着运行下面的命令。

设置 php-fpm开机启动
cp sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm #拷贝php-fpm到启动目录
chmod +x /etc/rc.d/init.d/php-fpm #添加执行权限
chkconfig php-fpm on #设置开机启动
vi /usr/local/php/etc/php.ini #编辑配置文件

让php支持

搜索: short_open_tag = Off 改为short_open_tag = On

找到:;open_basedir =
修改为:open_basedir = .:/tmp/ #防止php木马跨站,重要!!
找到: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版本的信息
找到:display_errors = On
修改为:display_errors = OFF #关闭错误提示

九、配置nginx支持php

vi /usr/local/nginx/conf/nginx.conf
修改/usr/local/nginx/conf/nginx.conf 配置文件,需做如下修改
user www www; #首行user去掉注释,修改Nginx运行组为www www;必须与/usr/local/php/etc/php-fpm.conf中的user,group配置相同,否则php运行出错
index index.php index.html index.htm; #添加index.php
将所有root后面的目录设置成

root /html;

但是。那个500的不要设置。
找到下面的这段代码进行修改
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root /html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
#取消FastCGI server部分location的注释,并要注意fastcgi_param行的参数,改为$document_root$fastcgi_script_name,或者使用绝对路径

保存退出,接着运行以下命令
/usr/local/nginx/sbin/nginx -s restart #重启nginx

/etc/rc.d/init.d/php-fpm start #启动php-fpm

这个时候。php-fpm好像启动不了。。。。因为还有些配置没有配置。。有机会把错误截图弄上来。

好像是有几个参数,没有设置提示错误,可以根据这个。修改上面的php-fpm.conf文件

启动错误解决:
ALERT: [pool www] pm.min_spare_servers(0) must be a positivevalue
编辑php-fpm.conf找到pm.min_spare_servers去除;号,注意非注释内容pm.min_spare_servers
ALERT: [pool www] pm.max_spare_servers(0) must be a positivevalue
编辑php-fpm.conf找到pm.max_spare_servers去除;号,同样非注释内容pm.max_spare_servers
WARNING: [pool www] pm.start_servers is not set. It's been set to20.
编辑php-fpm.conf找到pm.start_servers 去除;号,同样非注释内容pm.start_servers
ERROR: bind() for address '127.0.0.1:9000' failed: Address alreadyin use (98)

查看进程,有N多进程

ps -ef | grep php#查php进程

killall php-fpm #杀死所有php-fpm进程

/etc/rc.d/init.d/php-fpm start #启动php-fpm

这次正常了。

十、测试

cd /html/ #进入nginx默认网站根目录
rm -rf /html/* #删除默认测试页
vi index.php #新建index.php文件
phpinfo();
?>
:wq! #保存

在客户端浏览器输入服务器IP地址,可以看到相关的配置信息!

十一、备注

/etc/rc.d/init.d/nginx restart #重启restart stop start
/etc/rc.d/init.d/php-fpm restart #重启restart stop start

/etc/rc.d/init.d/php-fpm restart #重启restart stop start

nginx默认站点目录是:/html/

MySQL数据库目录是:/var/mysql/data

关于CentOS 5.x,6.0如何编译安装Nginx1.2.3+MySQL5.5.15+PHP5.3.6就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

配置 目录 文件 运行 编译 防火墙 防火 内容 命令 端口 系统 数据 注释 数据库 权限 软件 进程 错误 面的 支持 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 科技和互联网公司 圆梦互联网科技 互联网科技卖菜 腾讯阿里互联网科技 科技制造互联网公司 无线互联网科技 有木互联网科技 上海电发互联网科技有限公司 科技与互联网哪个更好 互联网经济与金融科技 语蝶互联网科技有限公司 赶超互联网科技 微信多开 银川新华互联网科技学校联系电话 企晟互联网信息科技有限公司 朱啸虎曾投资哪些互联网科技企业 长沙互联网科技 烟台灵鸽互联网科技有限公司 半导体是互联网高科技吗 互联网硬科技公司 10位科技互联网大佬 广东猪兼强互联网科技有限公司 云信互联网科技有限公司 卓越科技互联网 招聘 中正互联网科技招聘 花神(南京)互联网科技有限公司 广州新华互联网科技学校电竞方面 佛山市拉法互联网科技有限公司 互联网与数字科技关系 互联网金融运营模式中的金融科技 悟空问答互联网科技
0