LNMP环境搭建 ==================================================================== Linux(RHEL6.4) + Nginx(FastCGI) + PHP(php-fpm) + MySQL
所需软件包 nginx-1.4.4.tar.gz php-5.5.7.tar.gz cmake-2.8.10.2.tar.gz mysql-5.5.33.tar.gz Discuz_X3.1_SC_UTF8.zip
一、安装Nginx 1. pcre: 支持正则表达式,地址重写rewrite # tar xvf pcre-8.10.tar.gz # cd pcre-8.10 # ./configure && make && make install
2. Nginx: # yum -y install openssl openssl-devel # groupadd www # useradd -g www www # tar xf nginx-1.4.4.tar.gz # cd nginx-1.4.4
# ./configure \ > --prefix=/usr/local/nginx \ > --user=www \ > --group=www \ > --with-http_ssl_module \ > --with-http_flv_module \ > --with-http_stub_status_module \ > --with-http_gzip_static_module \ > --with-pcre=pcre源程序目录 # make # make install # /usr/local/nginx/sbin/nginx # netstat -tnlp |grep :80 tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 11051/nginx # elinks -dump http://localhost Welcome to nginx! # echo "/usr/local/nginx/sbin/nginx" >> /etc/rc.local
二、安装PHP: # yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel libcurl libcurl-devel libxslt-devel #./configure --prefix=/usr/local/php \ --with-curl \ --with-freetype-dir \ --with-gd \ --with-gettext \ --with-iconv-dir \ --with-jpeg-dir \ --with-kerberos \ --with-libdir=lib64 \ --with-libxml-dir \ --with-mysql \ --with-mysqli \ --with-openssl \ --with-pcre-regex \ --with-pdo-mysql \ --with-pdo-sqlite \ --with-pear \ --with-png-dir \ --with-xmlrpc \ --with-xsl \ --with-zlib \ --enable-fpm \ --enable-bcmath \ --enable-libxml \ --enable-inline-optimization \ --enable-gd-native-ttf \ --enable-mbregex \ --enable-mbstring \ --enable-opcache \ --enable-pcntl \ --enable-shmop \ --enable-soap \ --enable-sockets \ --enable-sysvsem \ --enable-xml \ --enable-zip # make && make install
# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf # vim /usr/local/php/etc/php-fpm.conf pid = run/php-fpm.pid # cp php.ini-production /usr/local/php/lib/php.ini
添加到init启动 [root@test php-5.5.7]# cp sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm [root@test php-5.5.7]# chmod a+x /etc/rc.d/init.d/php-fpm [root@test php-5.5.7]# chkconfig --add php-fpm [root@test php-5.5.7]# chkconfig php-fpm on [root@test php-5.5.7]# service php-fpm start Starting php-fpm done
三、整合Nginx和PHP 1. Nginx启用Fastcgi [root@test php-5.5.7]# vim /usr/local/nginx/conf/nginx.conf 启用: location / { root html; index index.php index.html index.htm; }
去掉以下行的注释: location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; include fastcgi_params; }
2. fastcgi模块参数文件 [root@test ~]# rm -rf /usr/local/nginx/conf/fastcgi_params [root@test ~]# vim /usr/local/nginx/conf/fastcgi_params fastcgi_param GATEWAY_INTERFACE CGI/1.1; fastcgi_param SERVER_SOFTWARE nginx; fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; fastcgi_param REQUEST_URI $request_uri; fastcgi_param DOCUMENT_URI $document_uri; fastcgi_param DOCUMENT_ROOT $document_root; fastcgi_param SERVER_PROTOCOL $server_protocol; fastcgi_param REMOTE_ADDR $remote_addr; fastcgi_param REMOTE_PORT $remote_port; fastcgi_param SERVER_ADDR $server_addr; fastcgi_param SERVER_PORT $server_port; fastcgi_param SERVER_NAME $server_name;
3. 最终确认并重启 [root@tianyun ~]# killall nginx; /usr/local/nginx/sbin/nginx [root@tianyun ~]# /etc/init.d/php-fpm restart [root@tianyun ~]# service mysqld restart [root@tianyun ~]# netstat -tnlp |grep :80 tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 17947/nginx [root@tianyun ~]# netstat -tnlp |grep :9000 tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 17961/php-fpm [root@tianyun ~]# netstat -tnlp |grep :3306 tcp 0 0 :::3306 :::* LISTEN 18265/mysqld
四、安装MySQL(略)
五、上传php动态网站测试 1. 测试php文件能否执行 2. 连接mysql是否正常
[root@test ~]# cd /usr/local/nginx/html/ [root@test html]# rm -rf * [root@test html]# vim index.php
phpinfo(); ?>
[root@test html]# vim index2.php
$link=mysql_connect('127.0.0.1','root','123'); if ($link) echo "Successfuly"; else echo "Faile"; mysql_close(); ?>
3. 测试Discuz
更多精彩MySQL内容 请关注我:
|
|