Nginx

本文介绍如何在CentOS 6.5环境下搭建Nginx服务器,包括安装pcre-devel、配置nginx服务及实现开机自启等步骤,并提供了一个高并发配置示例,能够帮助读者快速掌握Nginx的基本配置。
摘要由CSDN通过智能技术生成

(转)

Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,

其特点是占有内存少,并发能力强。

Nginx服务器搭建 

搭建nginx服务器首先要有必要的nginx运行环境,centos6.5是前提,

其次还有下载nginx-1.3.16.tar.gz

默认安装了Pcre以及pcre-devel,默认pcre是安装的,

pcre-devel需要使用yum安装。

 nginx服务器的搭建

Step 1:安装pcre-devel,以及建立nginx用户

# yum install pcre-devel

# groupadd -r nginx

# useradd -r -g nginx -M nginx

Step 2:解压缩nginx的源码并安装

# tar -zxvf nginx-1.3.16.tar.gz -C /usr/local/src/

# cd /usr/local/src/nginx-1.3.16/

# ./configure \

--conf-path=/etc/nginx/nginx.conf \

--error-log-path=/var/log/nginx/error.log \

--http-log-path=/var/log/nginx/access.log \

--pid-path=/var/run/nginx/nginx.pid \

--lock-path=/var/lock/nginx.lock \

--user=nginx \

--group=nginx \

--with-http_ssl_module \

--with-http_flv_module \

--with-http_stub_status_module \

--with-http_gzip_static_module \

--http-client-body-temp-path=/var/tmp/nginx/client/ \

--http-proxy-temp-path=/var/tmp/nginx/proxy/ \

--http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ \

--with-pcre

# make && make install

# mkdir -p /var/tmp/nginx/client

Step 3:启动nginx服务并在客户端做测试

# /usr/local/nginx/sbin/nginx &  //这里小编还没写启动脚本,之后会附上

查询nginx的启动状态

客户机浏览器输入http://222.195.158.199注意(注释:红色标注部分写自己服务器地址)

170701_FX0z_3255899.png

 

nginx的简单安装完成

 

3.3 nginx开机自启 

首先,在linux系统的/etc/init.d/目录下创建nginx文件,使用如下命令:

vi /etc/init.d/nginx  (输入下面的代码)

 

#!/bin/bash
# nginx Startup script for the Nginx HTTP Server
# it is v.0.0.2 version.
# chkconfig: - 85 15
# description: Nginx is a high-performance web and proxy server.
#              It has a lot of features, but it's not for everyone.
# processname: nginx
# pidfile: /var/run/nginx.pid
# config: /usr/local/nginx/conf/nginx.conf
nginxd=/usr/local/nginx/sbin/nginx
nginx_config=/usr/local/nginx/conf/nginx.conf
nginx_pid=/usr/local/nginx/logs/nginx.pid
RETVAL=0
prog="nginx"
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
[ -x $nginxd ] || exit 0
# Start nginx daemons functions.
start() {
if [ -e $nginx_pid ];then
   echo "nginx already running...."
   exit 1
fi
   echo -n $"Starting $prog: "
   daemon $nginxd -c ${nginx_config}
   RETVAL=$?
   echo
   [ $RETVAL = 0 ] && touch /var/lock/subsys/nginx
   return $RETVAL
}
# Stop nginx daemons functions.
stop() {
        echo -n $"Stopping $prog: "
        killproc $nginxd
        RETVAL=$?
        echo
        [ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx /var/run/nginx.pid
}
# reload nginx service functions.
reload() {
    echo -n $"Reloading $prog: "
    #kill -HUP `cat ${nginx_pid}`
    killproc $nginxd -HUP
    RETVAL=$?
    echo
}
# See how we were called.
case "$1" in
start)
        start
        ;;
stop)
        stop
        ;;
reload)
        reload
        ;;
restart)
        stop
        start
        ;;
status)
        status $prog
        RETVAL=$?
        ;;
*)
        echo $"Usage: $prog {start|stop|restart|reload|status|help}"
        exit 1
esac
exit $RETVAL

:wq  保存并退出

设置文件的访问权限

chmod a+x /etc/init.d/nginx   (a+x ==> all user can execute  所有用户可执行)

保险起见再加上一句:

vi /etc/rc.local

加入一行  /etc/init.d/nginx start    保存并退出,下次重启会生效。

自此nginx服务器基本搭建完成,接下优化nginx.

 

3.4 nginx突破10万并发

vi /opt/nginx/conf/nginx.conf

注意:修改nginx配置文件其修改内容主要是在开头,events和http中修改,其他地方无需修改,以免造成不必要的麻烦

#user  www www;

worker_processes 8;

worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000;

error_log  /www/log/nginx_error.log  crit;

pid /opt/nginx/logs/nginx.pid; 注:写自己的nginx.pid所在的目录

worker_rlimit_nofile 204800;

events

{

  use epoll;

  worker_connections 204800;

}

http

{

  include       mime.types;

  default_type  application/octet-stream;

 

  charset  utf-8;

  server_names_hash_bucket_size 128;

  client_header_buffer_size 2k;

  large_client_header_buffers 4 4k;

  client_max_body_size 8m;

  send file on;

  tcp_nopush     on;

  keepalive_timeout 60;

  fastcgi_cache_path /usr/local/nginx/fastcgi_cache levels=1:2

                keys_zone=TEST:10m

                inactive=5m;

  fastcgi_connect_timeout 300;

  fastcgi_send_timeout 300;

  fastcgi_read_timeout 300;

  fastcgi_buffer_size 16k;

  fastcgi_buffers 16 16k;

  fastcgi_busy_buffers_size 16k;

  fastcgi_temp_file_write_size 16k;

  fastcgi_cache TEST;

  fastcgi_cache_valid 200 302 1h;

  fastcgi_cache_valid 301 1d;

  fastcgi_cache_valid any 1m;

  fastcgi_cache_min_uses 1;

  fastcgi_cache_use_stale error timeout invalid_header http_500;

  open_file_cache max=204800 inactive=20s;

  open_file_cache_min_uses 1;

  open_file_cache_valid 30s;

  tcp_nodelay on;

  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-javascript text/css application/xml; 

  gzip_vary on;

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

转载于:https://my.oschina.net/u/3255899/blog/1142938

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值