centos6.2 64位LNMP(linux+nginx+mysql+php)实现

    如今nginx运用愈来愈普遍。这是由于NGINX在某些方面优于apache。而且NGINX在web服务当中占有必定的比例,咱们有必要了解和学习。下面步入正题,看LNMP架构怎么搭建。
      首先,分析下LAMP架构的安装。在LAMP架构中mysql,apache是能够单独安装不须要关联其余两个,而PHP即要关联MYSQL,又要关联apache,因此,装PHP是关键。那么,在LNMP架构中,也同样。关键的地方是让NGINX来支持PHP。那怎么让NGINX来支持PHP呢?这就用到了,PHP中的fastcgi跟fpm这两个东东,在正常状况下Nginx和PHP他俩之间是一点感受没有的。在以前,不少朋友都搭建过Apache+PHP,Apache+PHP编译后生成的是模块文件,而Nginx+PHP须要PHP生成可执行文件才能够,因此要利用fastcgi技术来实现Nginx与PHP的整合,这个只要咱们安装是启用FastCGI便可。这次咱们安装PHP不只使用了FastCGI,并且还使用了PHP-FPM这么一个东东,PHP-FPM说白了是一个管理FastCGI的一个管理器。
       好了,如今明白了。那么,就动手吧。首先,安装MYSQL和NGINX,php

[root@localhost mysql-5.5.22]# useradd mysql -s /sbin/nologin [root@localhost mysql-5.5.22]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/usr/local/mysql/tmp/mysql.sock -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 [root@localhost mysql-5.5.22]# gmake && make install [root@localhost mysql-5.5.22]# chown mysql. -R /usr/local/mysql [root@localhost mysql-5.5.22]# cd support-files/ [root@localhost support-files]# cp my-huge.cnf /etc/my.cnf [root@localhost mysql-5.5.22]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/ [root@localhost mysql-5.5.22]# cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld [root@localhost mysql-5.5.22]# chkconfig --add mysqld [root@localhost mysql-5.5.22]# service mysqld start

 最后添加环境变量到系统html

vim /etc/profile PATH=$PATH:/usr/local/mysql/bin/                                                                                                                  export PATH

而后安装nginx,安装nginx比较简单了,直接运行mysql

[root@shiyan1 nginx-1.2.6]#./configure --prefix=/usr/local/nginx [root@shiyan1 nginx-1.2.6]# make && make install

nginx完了,就装PHP,这个是关键nginx

[root@localhost libmcrypt-2.5.7]# ./configure --prefix=/usr/local/libmcrypt   [root@localhost libmcrypt-2.5.7]# make && make install [root@localhost php-5.3.10]# ./configure --prefix=/usr/local/php5 --with-mysql=/usr/local/mysql --with-curl --with-libxml-dir --with-config-file-path=/usr/local/php5/etc --enable-ftp --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curlwrappers --enable-mbregex --enable-zip  --with-mcrypt=/usr/local/libmcrypt  --with-gd --enable-soap --enable-fpm --enable-fastcgi

 运行完会提示,找不到参数enable-fastcgi.这个不用理会。直接make && make installweb

    [root@localhost php-5.3.10]# cp php.ini-production /usr/local/php5/etc/php.ini      [root@localhost php-5.3.10]# cd /usr/local/php5/etc/      [root@localhost etc]# cp php-fpm.conf.default php-fpm.conf      [root@localhost etc]# vim php-fpm.conf      [global]      ; Pid file      ; Note: the default prefix is /usr/local/php5/var      ; Default Value: none      pid = run/php-fpm.pid      ; Error log file      ; If it's set to "syslog", log is sent to syslogd instead of being written      ; in a local file.      ; Note: the default prefix is /usr/local/php5/var      ; Default Value: log/php-fpm.log      ;error_log = log/php-fpm.log      [root@localhost etc]# cd /usr/local/src/php-5.3.10/sapi/fpm/      [root@localhost fpm]# cp init.d.php /etc/rc.d/init.d/php-fpm      [root@localhost fpm]# service php-fpm start      [root@localhost fpm]# cd /usr/local/nginx/conf/nginx.conf              # 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  /usr/local/nginx/html$fastcgi_script_name;                  include        fastcgi_params;              }                    # deny access to .htaccess files, if Apache's document root              # concurs with nginx's one  [root@localhost fpm]# /usr/local/nginx/sbin/nginx

   把fpm跟nginx配置文件修改好启动,lnmp就完成了。值得注意的是:php-fpm.conf这个配置文件修改的时候,只需修改一处就是,把pid = run/php-fpm.pid这个前面的分号去掉就能够了,而nginx配置文件把支持PHP打开就OK!sql

相关文章
相关标签/搜索