`
xiangxingchina
  • 浏览: 523390 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

1分钟完美安装最新 CentOS + Nginx + PHP-FPM + MySQL

阅读更多

PHP 5.3.1
MySQL 5.0.89
Nginx 0.8.33 或 0.7.65 (可选)

现在,我们可以快速全自动搞定 CentOS + Nginx + PHP-FPM + MySQL 的安装了

这个可比网上流传的什么一键安装包要好得多,强烈推荐此法安装,适合所有菜鸟和高手
我服务器上全用的源代码编译安装,也好不到哪去,还很费劲

我这个装完已经包含 php 的一些常用扩展, PDO,eaccelerator,memcache,tidy等等

本文为 21andy.com 原创,转载请以超级链接方式注明出处 http://www.21andy.com

先新建一个 repo

# vi /etc/yum.repos.d/centos.21andy.com.repo

放入如下内容

[21Andy.com]
name=21Andy.com Packages for Enterprise Linux 5 - $basearch
baseurl=http://www.21andy.com/centos/5/$basearch/
enabled=1
gpgcheck=0
protect=1

启用 EPEL repo
i386

rpm -ihv http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm

x86_64

rpm -ihv http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm

接着导入key

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL

好了,一键安装

# yum install nginx php-fpm mysql-server

爽吧!

如果 nginx 你要用 0.7.65 最新稳定版,把
yum -y install nginx
换成
yum -y install nginx-stable
就可以了

本文为 21andy.com 原创,转载请以超级链接方式注明出处 http://www.21andy.com

更完整的安装

yum -y update
yum -y mysql-server
service mysqld start
mysqladmin -u root password root
service mysqld stop
yum -y install nginx php-fpm php-cli php-pdo php-mysql php-mcrypt php-mbstring php-gd php-tidy php-xml php-xmlrpc php-pear php-pecl-memcache php-eaccelerator
# APC 和 eAccelerator 有冲突,2选1
yum -y install php-pecl-apc

看下我的完整安装,只要一句

yum -y install nginx mysql-server php-fpm php-cli php-pdo php-mysql php-mcrypt php-mbstring php-gd php-tidy php-xml php-xmlrpc php-pear php-pecl-memcache php-eaccelerator

安装结果,全自动

Dependencies Resolved

==========================================================
Package Arch Version Repository Size
==========================================================
Installing:
mysql x86_64 5.0.89-1.el5 21Andy.com 3.5 M
mysql-server x86_64 5.0.89-1.el5 21Andy.com 10 M
nginx x86_64 0.8.33-3.el5 21Andy.com 422 k
php-cli x86_64 5.3.1-2.el5 21Andy.com 2.4 M
php-eaccelerator x86_64 2:0.9.6-1.el5 21Andy.com 118 k
php-fpm x86_64 5.3.1-2.el5 21Andy.com 1.2 M
php-gd x86_64 5.3.1-2.el5 21Andy.com 110 k
php-mbstring x86_64 5.3.1-2.el5 21Andy.com 1.1 M
php-mcrypt x86_64 5.3.1-2.el5 21Andy.com 27 k
php-mysql x86_64 5.3.1-2.el5 21Andy.com 84 k
php-pdo x86_64 5.3.1-2.el5 21Andy.com 91 k
php-pear noarch 1:1.9.0-1.el5 21Andy.com 420 k
php-pecl-memcache x86_64 2.2.5-3.el5 21Andy.com 44 k
php-tidy x86_64 5.3.1-2.el5 21Andy.com 31 k
php-xml x86_64 5.3.1-2.el5 21Andy.com 115 k
php-xmlrpc x86_64 5.3.1-2.el5 21Andy.com 48 k
Installing for dependencies:
gmp x86_64 4.1.4-10.el5 base 201 k
libXaw x86_64 1.0.2-8.1 base 329 k
libXmu x86_64 1.0.2-5 base 63 k
libXpm x86_64 3.5.5-3 base 44 k
libedit x86_64 2.11-2.20080712cvs.el5 epel 80 k
libmcrypt x86_64 2.5.8-4.el5.centos extras 105 k
libtidy x86_64 0.99.0-14.20070615.el5 epel 140 k
php-common x86_64 5.3.1-2.el5 21Andy.com 554 k
sqlite2 x86_64 2.8.17-5.el5 21Andy.com 165 k
t1lib x86_64 5.1.1-7.el5 epel 208 k
Updating for dependencies:
libevent x86_64 1.4.12-1.el5 21Andy.com 129 k

Transaction Summary
==========================================================
Install 26 Package(s)
Update 1 Package(s)
Remove 0 Package(s)

最后只要 yum -y update 一下,全是最新的
别忘了开机启动

chkconfig --level 345 mysqld on
chkconfig --level 345 php-fpm on
chkconfig --level 345 nginx on

来看看我用虚拟机测试的强大结果
http://www.21andy.com/blog/20100219/1703.html

补充:所有的配置文件都在 /etc 目录下,包括 nginx, php-fpm, mysql 的配置文件,请自行查找设置,以下为我的 nginx 的配置范例

先新建一个 /www 目录,网站和日志也全放在这里
别忘了建日志存放目录,你在配置文件中 access_log 用到的 /www/logs

注意:fastcgi_params 要加入这一行
# vim /etc/nginx/fastcgi_params

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

# vi /etc/nginx/nginx.conf

user nobody nobody;

worker_processes 8; #这里根据你的CPU和内存配置, 设置2到10都OK

error_log  /www/logs/nginx_error.log  crit;

pid        /usr/local/nginx/logs/nginx.pid;

#Specifies the value for maximum file descriptors that can be opened by this process.
worker_rlimit_nofile 51200;

events {
    use epoll;
    worker_connections 51200;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    #charse  gb2312; # 默认编码,可以不设置

    server_names_hash_bucket_size 128;
    client_header_buffer_size 16k;
    large_client_header_buffers 4 16k;
    client_max_body_size 8m;

    sendfile on;
    tcp_nopush     on;

    keepalive_timeout 60;

    tcp_nodelay on;

    fastcgi_connect_timeout 300;
    fastcgi_send_timeout 300;
    fastcgi_read_timeout 300;
    fastcgi_buffer_size 64k;
    fastcgi_buffers 4 64k;
    fastcgi_busy_buffers_size 128k;
    fastcgi_temp_file_write_size 128k;

    gzip on;
    gzip_min_length  1k;
    gzip_buffers     4 16k;
    gzip_http_version 1.0;
    gzip_comp_level 5;
    gzip_types       text/plain text/javascript application/x-javascript text/css application/xml;
    gzip_vary on;

    #limit_zone  crawler  $binary_remote_addr  10m;
    server {
        listen 80;
        server_name localhost;
        root  /www;
        location /status {
            stub_status on;
            access_log  off;
        }
        location / {
            # 这里是把所有不存在的文件和目录,全都转到 index.php 处理
            try_files $uri $uri/ /index.php?q=$uri&$args;
        }
        
        # 这里分开放到 server.conf 是为了再开 server 的时候方便,统一调用,放到/etc/nginx/ 目录下
        include server.conf;

        log_format  access  '$remote_addr - $remote_user [$time_local] "$request" '
             '$status $body_bytes_sent "$http_referer" '
             '"$http_user_agent" $http_x_forwarded_for';
        access_log  /www/logs/access.log  access;
    }

    server {
        listen 80;
        server_name www.21andy.com 21andy.com *.21andy.com;
        root  /www/21andy.com;
        if ($host !~* 21andy\.com$) {
            return 444;
        }
        location / {
            try_files $uri $uri/ /index.php?q=$uri&$args;
        }
        include server.conf; # 这里复用了,这段就省了
        access_log  /www/logs/21andy.com_access.log  access;
    }
}

# vi /etc/nginx/server.conf

index index.html index.htm index.php;

#limit_conn   crawler  20;

location ~ /\.ht {
    deny all;
}

location ~ .*\.(sqlite|sq3)$ {
    deny all;
}

location ~ .*\.php$ {
    fastcgi_pass  unix:/tmp/php-cgi.sock;
    #fastcgi_pass  127.0.0.1:9000;
    fastcgi_index index.php;
    include fastcgi_params;
}

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|ico)$ {
    expires      30d;
    access_log   off;
}

location ~ .*\.(js|css)?$ {
    expires      30d;
    access_log   off;
}

本行以下内容可以略过
php-fpm 也可以用以下设置,但建议用上面的,比较稳定

location ~ \.php$ {
    root           /www;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    #下面这一行要加在 /etc/nginx/fastcgi_params 里
    #fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    include        fastcgi_params;
}

不管是使用 php-cgi.sock 或 9000 端口方法,nginx 和 php-fpm 都要同时设置成一样的
nginx 的设置上面已经提过,记得同时修改 php-fpm.conf 相应的地方
# vi /etc/php-fpm.conf

<value name="listen_address">127.0.0.1:9000</value>

<value name="listen_address">unix:/tmp/php-cgi.sock</value>

Tags: centos , mysql , nginx , php-fpm , RPM , 安装

本文地址: http://www.21andy.com/blog/20100219/1701.html

分享到:
评论

相关推荐

    1分钟完美安装最新_CentOS_ _Nginx_ _PHP-FPM_ _MySQL

    ### 完美安装最新 CentOS、Nginx、PHP-FPM 和 MySQL:一站式解决方案 #### 核心知识点概览 在本篇文章中,我们将探讨一种高效且简易的方法来安装最新的 CentOS 操作系统,以及在其上搭建 Nginx Web 服务器、...

    CentOS+Nginx+PHP+MySQL配置详解.pdf

    在本文中,我们将详细介绍如何在 CentOS 平台上安装和配置 Nginx、PHP 和 MySQL,实现一个完整的 Web 服务器环境。 一、Nginx 介绍 Nginx 是一个高性能的 HTTP 和反向代理服务器,同时也是 IMAP/POP3/SMTP 代理...

    最详细全面的CentOs5.5+mysql+nginx+php5.3.3安全安装手册

    ### 最详细全面的CentOs5.5+mysql+nginx+php5.3.3安全安装手册 #### 一、安装CentOs5操作系统 ##### 1.1 系统安装 在进行CentOS 5.5的安装之前,首先需要设置计算机的BIOS启动顺序为光驱启动。设置完成后,将安装...

    CentOS+nginx+fastCGI+mysql配置文档

    在本配置文档中,我们将详细讨论如何在 CentOS 系统上搭建一个基于 Nginx、FastCGI 和 MySQL 的服务器环境。这个配置过程涉及到多个步骤,包括安装必要的软件包、配置 Nginx 以及整合 PHP 和 MySQL。 首先,我们...

    lnmp(centos6.2+nginx+mysql+php)环境搭建系统教程--宋正河

    在CentOS上,可以通过YUM安装最新版本的Nginx。安装完成后,需要配置Nginx的默认配置文件`/etc/nginx/nginx.conf`,设置监听端口、服务器块等,以实现对Web服务的控制。 2. **MySQL安装与初始化**: MySQL是一种...

    Docker Linux+Nignx+MySQL+PHP+Node.js+Redis.zip

    QQ群669756510使用教程(快速入门)下载(Download)# 主流版本## CentOS7 + Nginx + Node.js + MySQL + php-^7.4 + php5.6.40docker pull 2233466866/lnmpdocker pull 2233466866/lnmp:1.13# nosql版本## CentOS7 + ...

    Cacti监控服务器配置教程_基于CentOS+Nginx+MySQL+PHP环境搭建

    ### Cacti监控服务器配置教程:基于CentOS+Nginx+MySQL+PHP环境搭建 #### 环境准备与配置 在开始Cacti监控服务器的配置之前,我们需要确保所有必要的软件和服务都已正确安装并运行。本教程将详细介绍如何在CentOS ...

    centOS7 配置php+nginx+mysql 环境脚本

    本文将详细介绍如何在CentOS7操作系统上配置PHP+nginx+MySQL的环境,以及使用自动脚本来简化这一过程。这个环境是许多网站和应用程序的常用基础架构,它提供了强大的动态内容处理(PHP),高效的静态资源服务(nginx...

    Centos 5.5 Nginx+php+mysql成功安装案例

    在CentOS 5.5操作系统中,安装Nginx、PHP和MySQL的组合是一个常见的任务,这个过程可以分为几个关键步骤。以下是一个详细的指南,涵盖了从安装基础环境到配置服务的整个过程。 首先,我们需要确保系统中安装了必要...

    centos下安装nginx+php+mysql

    ### CentOS 下安装 Nginx + PHP + MySQL 的详细步骤与注意事项 #### 一、环境准备与概述 在本文档中,我们将详细介绍如何在 CentOS 6.5 64位操作系统上搭建 LNMP (Nginx + MySQL + PHP) 环境。LNMP 是一种非常流行...

    centos一键安装jdk+mysql+nginx+tomcat+php

    本文将详细介绍如何在CentOS上一键安装Java Development Kit (JDK)、MySQL数据库、Nginx web服务器、Tomcat应用服务器以及PHP编程环境。这些组件是构建高效、稳定的Web服务的基础。 ### 安装JDK 首先,我们需要安装...

    CentOS 安装 PHP5.5+Redis+XDebug+Nginx+MySQL全纪录

    总结来说,本文涉及的知识点包括CentOS服务器的基础环境准备、PHP及其常用扩展的安装和配置、Redis数据库的安装和配置、PHP扩展PHPRedis的安装和配置、XDebug的安装和配置以及Nginx和MySQL的基本安装。这些知识是...

    Linux+Apache+Nginx+Mysql+PHP完美配置教程

    【Linux+Apache+Nginx+Mysql+PHP完美配置教程】 在配置Linux服务器以支持LAMP(Linux, Apache, MySQL, PHP)环境时,我们需要进行一系列的准备工作和安装步骤。以下是一个详细的步骤指南: **一、准备工作** 1. *...

    LNMP(linux+nginx+mysql+php)服务器环境搭配

    LNMP(Linux+Nginx+MySQL+PHP)服务器环境配置是一项关键的技术,广泛应用于现代Web开发领域,尤其在构建高性能、高稳定性的网站时。这一组合利用Linux作为操作系统基础,Nginx作为Web服务器,MySQL作为数据库管理...

    centos系统编译安装nginx+php环境另加独立mysql教程.docx

    安装Nginx,编译安装过程不再赘述,请参照之前的教程《CentOS编译安装Nginx+PHP-FPM+MySQL》中的Nginx安装部分。 知识点5:测试验证 安装完成后,在后端的MySQL中授予远程权限: ```sql GRANT ALL PRIVILEGES ON ...

    基于CentOS 5.4搭建nginx+php+spawn-fcgi+mysql高性能php平台

    ### 基于CentOS 5.4搭建nginx+php+spawn-fcgi+mysql高性能PHP平台 #### 平台概述 在《基于CentOS 5.4搭建nginx+php+spawn-fcgi+mysql高性能php平台》这篇技术文章中,作者哈密瓜详细介绍了如何在CentOS 5.4上构建一...

    CentOS下Nginx0.8.52-PHP5.3.3-MySQL5.5.6-Memcached1.4.5安装配置优化

    在本篇文章中,我们将详细探讨在CentOS环境下安装和配置Nginx 0.8.52、PHP 5.3.3、MySQL 5.5.6以及Memcached 1.4.5这一系列软件的过程,同时还会对配置进行优化以达到提升性能的目的。这些技术组件共同构成了一个...

    centOS7环境下安装nginx-upload

    CentOS 7 环境下安装 Nginx-upload 模块 CentOS 7 环境下安装 Nginx-upload 模块是 web 服务器管理员经常需要完成的一项任务。本文档将指导您在 CentOS 7 环境下安装 Nginx-upload 模块。 安装前的准备 在开始...

    mysql+php+nginx centos服务器配置

    在构建Web服务环境中,"mysql+php+nginx"的组合是一种常见的选择,特别是在Linux系统上,如CentOS 6.2。这个配置提供了高性能、稳定性和可扩展性,适合搭建动态内容丰富的网站或应用程序。下面将详细介绍每个组件的...

    CentOS 7.3.1611编译安装Nginx1.10.3+MySQL5.7.16+PHP7.1.2

    在本教程中,我们将深入探讨如何在CentOS 7.3.1611操作系统上编译安装Nginx 1.10.3、MySQL 5.7.16和PHP 7.1.2。这个过程对于那些希望自定义安装配置或需要最新版本的开发者来说非常有用。首先,让我们逐一了解每个...

Global site tag (gtag.js) - Google Analytics