您好,欢迎来到思海网络,我们将竭诚为您提供优质的服务! 诚征网络推广 | 网站备案 | 帮助中心 | 软件下载 | 购买流程 | 付款方式 | 联系我们 [ 会员登录/注册 ]
促销推广
客服中心
业务咨询
有事点击这里…  531199185
有事点击这里…  61352289
点击这里给我发消息  81721488
有事点击这里…  376585780
有事点击这里…  872642803
有事点击这里…  459248018
有事点击这里…  61352288
有事点击这里…  380791050
技术支持
有事点击这里…  714236853
有事点击这里…  719304487
有事点击这里…  1208894568
有事点击这里…  61352289
在线客服
有事点击这里…  531199185
有事点击这里…  61352288
有事点击这里…  983054746
有事点击这里…  893984210
当前位置:首页 >> 技术文章 >> 文章浏览
技术文章

Linux Nginx安装MySQL 扩展库及架设Php Web服务器

添加时间:2012-4-15  添加: admin 

Linux Nginx有很多值得学习的地方,这里我们主要介绍Linux Nginx安装编译,包括介绍Linux Nginx等方面。Linux Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器 。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,它已经在该站点运行超过两年半了。Igor 将源代码以类BSD许可证的形式发布。尽管还是测试版,但是,Nginx 已经因为它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名了。

本文是W3CGROUP在成功架设Linux Nginx+Php Web服务器之后的一个总结,成功设置Linux Nginx开启多域名多站点,并且不会出现502 Bad Gateway错误!本文测试环境如下:

系统环境Linux version 2.6.9(CentOS release 4.7(Final))软件环境nginx-0.6.35.tar.gz当前稳定版: Nginx 0.6.35 (2009年1月26日)官方Wiki:http://wiki.nginx.org官方下载:http://sysoev.ru/nginx/nginx-0.6.35.tar.gzphp-5.2.9.tar.gz官方下载:http://www.php.net/get/php-5.2.9.tar.gz/from/this/mirrorphp-5.2.9-fpm-0.5.10.diff.gz官方下载:http://php-fpm.anight.org/downloads/archive/mysql-5.1.34.tar.gzlibiconv-1.13.tar.gzlibmcrypt-2.5.8.tar.gzmcrypt-2.6.8.tar.gzmhash-0.9.9.9.tar.gz
Nginx0.6.35+Php5.2.9所有相关安装包下载 http://www.w3cgroup.com/code/nginx_php.rar

Linux Nginx安装步骤

一、 编译安装PHP5.2.9所需的支持库

tar zxvf libiconv-1.13.tar.gz  cd libiconv-1.13/  ./configure --prefix=/usr/local  make  make install  cd ../   tar zxvf libmcrypt-2.5.8.tar.gz  cd libmcrypt-2.5.8/  ./configure  make  make install  /sbin/ldconfig  cd libltdl/  ./configure --enable-ltdl-install  make  make install  cd http://www.cnblogs.com/   tar zxvf mhash-0.9.9.9.tar.gz  cd mhash-0.9.9.9/  ./configure  make  make install  cd ../   ln -s /usr/local/lib/libmcrypt.la /usr/lib/libmcrypt.la  ln -s /usr/local/lib/libmcrypt.so /usr/lib/libmcrypt.so  ln -s /usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4  ln -s /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib/libmcrypt.so.4.4.8  ln -s /usr/local/lib/libmhash.a /usr/lib/libmhash.a  ln -s /usr/local/lib/libmhash.la /usr/lib/libmhash.la  ln -s /usr/local/lib/libmhash.so /usr/lib/libmhash.so  ln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2  ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1   tar zxvf mcrypt-2.6.8.tar.gz  cd mcrypt-2.6.8/  /sbin/ldconfig  ./configure  make  make install  cd ../ 二、Linux Nginx编译安装MySQL 5.1.34扩展库

/usr/sbin/groupadd mysql  /usr/sbin/useradd -g mysql mysql  tar zxvf mysql-5.1.34.tar.gz  cd mysql-5.1.34/  ./configure --prefix=/usr/local/webserver/mysql/   --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client --with-big-tables   --with-readline --with-ssl --with-embedded-server --enable-local-infile --with-plugins=innobase make && make install  chmod +w /usr/local/webserver/mysql  chown -R mysql:mysql /usr/local/webserver/mysql  cd ../ MySql的安装此处就省略

三、Linux Nginx编译安装PHP(FastCGI模式)

tar zxvf php-5.2.9.tar.gz  gzip -cd php-5.2.9-fpm-0.5.10.diff.gz | patch -d php-5.2.9 -p1  cd php-5.2.9/  ./configure --prefix=/usr/local/webserver/php --with-config-file-path=/usr/local/webserver/php/etc  --with-mysql=/usr/local/webserver/mysql   --with-mysqli=/usr/local/webserver/mysql/bin/mysql_config --with-iconv-dir=/usr/local   --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib   --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-discard-path   --enable-safe-mode --enable-bcmath   --enable-shmop --enable-sysvsem --enable-inline-optimization   --with-curl --with-curlwrappers --enable-mbregex   --enable-fastcgi --enable-fpm --enable-force-cgi-redirect --enable-mbstring   --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash   --enable-pcntl --enable-sockets --with-ldap --with-ldap-sasl  make ZEND_EXTRA_LIBS='-liconv' make install  cp php.ini-dist /usr/local/webserver/php/etc/php.ini  cd ../
四、Linux Nginx修改php-fpm配置文件

rm -f /usr/local/webserver/php/etc/php-fpm.conf  vi /usr/local/webserver/php/etc/php-fpm.conf 输入以下内容:

<?xml version="1.0" ?>   <configuration>   <section name="global_options">   <value name="pid_file">/usr/local/webserver/php/logs/php-fpm.pid</value>   <value name="error_log">/usr/local/webserver/php/logs/php-fpm.log</value>   <value name="log_level">notice</value>   <value name="emergency_restart_threshold">10</value>   <value name="emergency_restart_interval">1m</value>   <value name="process_control_timeout">5s</value>   <value name="daemonize">yes</value>   </section>   <workers>   <section name="pool">   <value name="name">default</value>   <value name="listen_address">127.0.0.1:9000</value>   <value name="listen_options">   <value name="backlog">-1</value>   <value name="owner"></value>   <value name="group"></value>   <value name="mode">0666</value>   </value>   <value name="php_defines">   <value name="sendmail_path">/usr/sbin/sendmail -t -i</value>   <value name="display_errors">1</value>   </value>   <value name="user">www</value>   <value name="group">www</value>   <value name="pm">   <value name="style">static</value>   <value name="max_children">128</value>   <value name="apache_like">   <value name="StartServers">20</value>   <value name="MinSpareServers">5</value>   <value name="MaxSpareServers">35</value>   </value>   </value>   <value name="request_terminate_timeout">0s</value>   <value name="request_slowlog_timeout">0s</value>   <value name="slowlog">logs/slow.log</value>   <value name="rlimit_files">51200</value>   <value name="rlimit_core">0</value>   <value name="chroot"></value>   <value name="chdir"></value>   <value name="catch_workers_output">yes</value>   <value name="max_requests">500</value>   <value name="allowed_clients">127.0.0.1</value>   <value name="environment">   <value name="HOSTNAME">$HOSTNAME</value>   <value name="PATH">/usr/local/bin:/usr/bin:/bin</value>   <value name="TMP">/tmp</value>   <value name="TMPDIR">/tmp</value>   <value name="TEMP">/tmp</value>   <value name="OSTYPE">$OSTYPE</value>   <value name="MACHTYPE">$MACHTYPE</value>   <value name="MALLOC_CHECK_">2</value>   </value>   </section>   </workers>   </configuration> 五、Linux Nginx创建www用户组及www用户

/usr/sbin/groupadd www  /usr/sbin/useradd -g www www
六、编译安装Linux Nginx

tar zxvf nginx-0.6.35.tar.gz cd nginx-0.6.35/默认安装:./configuremake && make install默认情况下,Nginx 会被安装在 /usr/local/nginx。通过设定编译选项,你可以改变这个设定。

指定编译选项安装,如:./configure --user=www --group=www --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_modulemake && make install cd ../

七、Linux Nginx创建fcgi.conf文件

rm -f /usr/local/webserver/nginx/conf/fcgi.conf  vi /usr/local/webserver/nginx/conf/fcgi.conf 输入以下内容:

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 _FILENAME $document_root$fastcgi__name;  fastcgi_param _NAME $fastcgi__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;   # PHP only, required if PHP was built with --enable-force-cgi-redirect  fastcgi_param REDIRECT_STATUS 200; 八、编辑Linux Nginx配置文件

rm -f /usr/local/webserver/nginx/conf/nginx.conf  vi /usr/local/webserver/nginx/conf/nginx.conf 输入以下内容:

user www www;  worker_processes 8;  error_log /usr/local/webserver/nginx/logs/logs/nginx_error.log crit;  pid /usr/local/webserver/nginx/logs/nginx.pid;  worker_rlimit_nofile 51200;  events {  use epoll;  worker_connections 51200;  }   http {  include mime.types;  default_type application/octet-stream;  charset utf-8;   server_names_hash_bucket_size 128;  client_header_buffer_size 32k;  large_client_header_buffers 4 32k;  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 8 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 2;  gzip_types text/plain application/x-java text/css application/xml;  gzip_vary on;   #limit_zone crawler $binary_remote_addr 10m;  #多个站点设置,站点文件夹必须放在Nginx的html目录,否则不支持多站点  server {  listen 80;  server_name www.v-ec.com;  root /usr/local/webserver/nginx/html/www.v-ec.com;  index index.php index.html;   location ~ .*\.(php|php5)?$ {   #fastcgi_pass unix:/tmp/php-cgi.sock;  fastcgi_pass 127.0.0.1:9000;  fastcgi_index index.php;  include fcgi.conf;  }   location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {  expires 30d;  }   location ~ .*\.(js|css)?$ {  expires 6h;  }   log_format veclog '$remote_addr - $remote_user [$time_local] "$request" '  '$status $body_bytes_sent "$http_referer" '  '"$http_user_agent" $http_x_forwarded_for';  access_log logs/vec.log veclog;  }  #多个站点设置,站点文件夹必须放在Nginx的html目录,否则不支持多站点  server {  listen 80;  server_name www.w3cgroup.com;  root /usr/local/webserver/nginx/html/www.w3cgroup.com;  index index.php index.html;   location ~ .*\.(php|php5)?$ {   #fastcgi_pass unix:/tmp/php-cgi.sock;  fastcgi_pass 127.0.0.1:9000;  fastcgi_index index.php;  include fcgi.conf;  }   location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {  expires 30d;  }   location ~ .*\.(js|css)?$ {  expires 6h;  }   log_format w3cclog '$remote_addr - $remote_user [$time_local] "$request" '  '$status $body_bytes_sent "$http_referer" '  '"$http_user_agent" $http_x_forwarded_for';  access_log logs/w3c.log w3clog;  }  } 九、配置开机自动启动Linux Nginx + PHP

vi /etc/rc.local 在末尾增加以下内容:

ulimit -SHn 51200  /usr/local/webserver/php/sbin/php-fpm start  /usr/local/webserver/nginx/sbin/nginx 十、Linux Nginx优化Linux内核参数

vi /etc/sysctl.conf 在末尾增加以下内容:

net.ipv4.tcp_fin_timeout = 30 net.ipv4.tcp_keepalive_time = 300 net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_tw_recycle = 1 使配置立即生效:/sbin/sysctl –p做到这里,可以reboot重启Linux了,不出意外的话应该可以顺利开启Nginx

关键字:Linux Nginx、安装、MySQL 、架设、Php Web

分享到:

顶部 】 【 关闭
版权所有:佛山思海电脑网络有限公司 ©1998-2024 All Rights Reserved.
联系电话:(0757)22630313、22633833
中华人民共和国增值电信业务经营许可证: 粤B1.B2-20030321 备案号:粤B2-20030321-1
网站公安备案编号:44060602000007 交互式栏目专项备案编号:200303DD003  
察察 工商 网安 举报有奖  警警  手机打开网站