> CentOS > CentOS教程 >

CentOS_6.5安装Nginx+PHP+MySQL

CentOS_6.5安装Nginx+PHP+MySQL
  1. 准备工作
  2.  
  3.     安装make
  4.         yum -y install gcc automake autoconf libtool make
  5.  
  6.     安装g++
  7.         yum install gcc gcc-c++
  8.  
  9.  
  10. 下面正式开始
  11. ---------------------------------------------------------------------------
  12. 一般我们都需要先装pcre, zlib,前者为了重写rewrite,后者为了gzip压缩。
  13. 可以是任何目录,本文选定的是/data/soft/src
  14. 一:Nginx安装
  15.     cd /data/soft/src
  16.  
  17.     1.安装PCRE
  18.         ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ 下载最新的 PCRE 源码包,使用下面命令下载编译和安装 PCRE 包:
  19.  
  20.         cd /data/soft/src
  21.         wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.34.tar.gz 
  22.         tar -zxvf pcre-8.34.tar.gz
  23.         cd pcre-8.34
  24.         ./configure
  25.         make
  26.         make install
  27.  
  28.     2.安装zlib
  29.         http://zlib.net/zlib-1.2.8.tar.gz 下载最新的 zlib 源码包,使用下面命令下载编译和安装 zlib包:
  30.  
  31.         cd /data/soft/src
  32.         wget http://zlib.net/zlib-1.2.8.tar.gz
  33.         tar -zxvf zlib-1.2.8.tar.gz
  34.         cd zlib-1.2.8
  35.         ./configure
  36.         make
  37.         make install
  38.  
  39.     3.安装ssl(某些vps默认没装ssl)
  40.         cd /data/soft/src
  41.         wget http://www.openssl.org/source/openssl-1.0.1c.tar.gz
  42.         tar -zxvf openssl-1.0.1c.tar.gz
  43.         yum -y install openssl openssl-devel
  44.  
  45.     4.安装nginx
  46.         Nginx 一般有两个版本,分别是稳定版和开发版,您可以根据您的目的来选择这两个版本的其中一个,下面是把 Nginx 安装到 /data/soft/nginx 目录下的详细步骤:
  47.  
  48.         cd /data/soft/src
  49.         wget http://nginx.org/download/nginx-1.4.2.tar.gz
  50.         tar -zxvf nginx-1.4.2.tar.gz
  51.         cd nginx-1.4.2
  52.         ./configure --sbin-path=/data/soft/nginx/nginx \--conf-path=/data/soft/nginx/nginx.conf \--pid-path=/data/soft/nginx/nginx.pid \--with-http_ssl_module \--with-pcre=/data/src/pcre-8.34 \--with-zlib=/data/src/zlib-1.2.8 \--with-openssl=/data/src/openssl-1.0.1c
  53.         make
  54.         make install
  55.  
  56.         安装成功后 /data/soft/nginx 目录下如下:
  57.             fastcgi.conf            koi-win             nginx.conf.default
  58.             fastcgi.conf.default    logs                scgi_params
  59.             fastcgi_params          mime.types          scgi_params.default
  60.             fastcgi_params.default  mime.types.default  uwsgi_params
  61.             html                    nginx               uwsgi_params.default
  62.             koi-utf                 nginx.conf          win-utf
  63.  
  64.     5.启动
  65.         确保系统的 80 端口没被其他程序占用,运行/data/soft/nginx/nginx 命令来启动 Nginx
  66.  
  67.         netstat -ano|grep 80
  68.         如果查不到结果后执行,有结果则忽略此步骤
  69.         sudo /usr/local/nginx/nginx
  70.  
  71.         打开浏览器访问此机器的 IP,如果浏览器出现 Welcome to nginx! 则表示 Nginx 已经安装并运行成功。
  72.  
  73.         到这里nginx就安装完成了,如果只是处理静态html就不用继续安装了,如果你需要处理php脚本的话,还需要安装php-fpm
  74.  
  75.     6.Nginx开机启动
  76.         echo "/data/soft/nginx/sbin/nginx" >> /etc/rc.local
  77.  
  78.  
  79. 二:编译安装php-fpm
  80.     PHP-FPM是一个PHP FastCGI管理器,是只用于PHP的,可以在 http://php-fpm.org/download下载得到.
  81.  
  82.     PHP-FPM其实是PHP源代码的一个补丁,旨在将FastCGI进程管理整合进PHP包中。必须将它patch到你的PHP源代码中,在编译安装PHP后才可以使用。
  83.  
  84.     新版PHP已经集成php-fpm了,不再是第三方的包了,推荐使用。PHP-FPM提供了更好的PHP进程管理方式,可以有效控制内存和进程、可以平滑重载PHP配置,比spawn-fcgi具有更多优点,所以被PHP官方收录了。在./configure的时候带 enable-fpm参数即可开启PHP-FPM,其它参数都是配置php的,具体选项含义可以到这里查看:http://www.php.net/manual/en/configure.about.php。
  85.  
  86.     安装前准备
  87.     centos下执行(自动安装gcc)
  88.         yum -y install gcc automake autoconf libtool make
  89.         yum -y install gcc gcc-c++ glibc
  90.  
  91.         yum -y install libmcrypt-devel mhash-devel libxslt-devel \
  92.         libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel \
  93.         zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel \
  94.         ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel \
  95.         krb5 krb5-devel libidn libidn-devel openssl openssl-devel
  96.  
  97.     1.php-fpm安装(推荐安装方式)
  98.         cd /data/soft/src
  99.         wget http://museum.php.net/php5/php-5.4.7.tar.gz
  100.         tar zvxf php-5.4.7.tar.gz
  101.         cd php-5.4.7
  102.         ./configure --prefix=/data/soft/php  --enable-fpm --with-mcrypt \--enable-mbstring --disable-pdo --with-curl --disable-debug  --disable-rpath \--enable-inline-optimization --with-bz2  --with-zlib --enable-sockets \--enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex \--with-mhash --enable-zip --with-pcre-regex --with-mysql --with-mysqli \--with-gd --with-jpeg-dir
  103.         make all install
  104.  
  105.     2.以上就完成了php-fpm的安装。
  106.         下面是对php-fpm运行用户进行设置
  107.         cd /data/soft/php
  108.         cp etc/php-fpm.conf.default etc/php-fpm.conf
  109.         vi etc/php-fpm.conf
  110.             修改
  111.                 user = www
  112.                 group = www
  113.  
  114.                 如果www用户不存在,那么先添加www用户
  115.                 groupadd www
  116.                 useradd -g www www
  117.  
  118.     3.修改nginx配置文件以支持php-fpm
  119.         修改nginx配置文件为,nginx.conf
  120.         其中server段增加如下配置:
  121.  
  122.         # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
  123.         location ~ \.php$ {
  124.             root /data/www; #项目根目录
  125.             fastcgi_pass 127.0.0.1:9000;
  126.             fastcgi_index index.php;
  127.             fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  128.             include fastcgi_params;
  129.         }
  130.  
  131.     4.创建测试php文件
  132.         创建php文件
  133.  
  134.         在/data/www下创建index.php文件,输入如下内容:
  135.             <?php
  136.                 echo phpinfo();
  137.             ?>
  138.  
  139.     5.启动php-fpm服务
  140.         /data/soft/php/sbin/php-fpm
  141.  
  142.         重启nginx服务器:
  143.             /data/nginx/nginx -s reload
  144.  
  145.     6.php-fpm关闭与重启
  146.         php-fpm 关闭:
  147.             kill -INT `cat /data/soft/php/var/run/php-fpm.pid`
  148.  
  149.         php-fpm 重启:
  150.             kill -USR2 `cat /data/soft/php/var/run/php-fpm.pid`
  151.  
  152.     7.php-fpm开机启动
  153.         echo "/data/soft/php/sbin/php-fpm" >> /etc/rc.local
  154.  
  155.  
  156. 三:mysql安装
  157.     cd /data/soft/src
  158.     wget http://downloads.mysql.com/archives/mysql-5.1/mysql-5.1.70.tar.gz
  159.     tar -zxvf mysql-5.1.70.tar.gz
  160.     cd mysql-5.1.70
  161.  
  162.     yum install ncurses ncurses-devel
  163.     ./configure  '--prefix=/data/soft/mysql' '--without-debug' '--with-charset=utf8' '--with-extra-charsets=all' '--enable-assembler' '--with-pthread' '--enable-thread-safe-client' '--with-mysqld-ldflags=-all-static' '--with-client-ldflags=-all-static' '--with-big-tables' '--with-readline' '--with-ssl' '--with-embedded-server' '--enable-local-infile' '--with-plugins=innobase'    make
  164.     make install
  165.  
  166.     到此mysql就安装到了/data/soft/mysql路径下,下面开始mysql的配置工作
  167.     ------------------------------------
  168.  
  169.     安装mysql选项文件
  170.     cp support-files/my-medium.cnf /etc/my.cnf
  171.  
  172.     mysql设置开机自启动
  173.         cp -r support-files/mysql.server /etc/init.d/mysqld  
  174.         /sbin/chkconfig --del mysqld
  175.         /sbin/chkconfig --add mysqld
  176.  
  177.     配置权限表
  178.         chown -R mysql:mysql /data/soft/mysql
  179.         /data/soft/mysql/bin/mysql_install_db --user=mysql
  180.  
  181.     启动mysql
  182.         /etc/init.d/mysqld start
  183.  
  184.     mysql初始化配置:
  185.         export PATH=/data/soft/mysql/bin:$PATH
  186.         /data/soft/mysql/bin/mysql_secure_installation
  187.             注:这里根据提示设置mysqlroot密码
  188.  
  189.     到这里mysql安装完成了, 我们开始使用客户端连接mysql
  190.         如果报错:
  191.             SQL Error (1130): Host '192.168.1.100' is not allowed to connect to this MySQL server
  192.  
  193.         首先按下面的步骤登录Mysql服务器
  194.  
  195.         登录mysql需要切换到dos下的mysqlbin目录,进行如下操作:
  196.  
  197.         #mysql -uroot -ppassword
  198.         mysql>use mysql;
  199.  
  200.         mysql>update user set host = '%'  where user ='root';
  201.  
  202.         mysql>flush privileges;
  203.  
  204.         mysql>select 'host','user' from user where user='root';
  205.  
  206.         mysql>quit
  207.         OK。远程连接成功!



(责任编辑:IT)