nginx之三:nginx安装配置+清缓存模块安装

Posted charon2

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx之三:nginx安装配置+清缓存模块安装相关的知识,希望对你有一定的参考价值。

经过一段时间的使用,发现 nginx 在并发与负载能力方面确实优于 apache,现在已经将大部分站点从 apache 转到 了 nginx 了。以下是 nginx 的一些简单的安装配置。

环境

  操作系统:CentOS、RedHat

  IP 地址:192.168.1.202

下载软件包

# mkdir /usr/local/src/tarbag
# mkdir /usr/local/src/software
# cd /usr/local/src/tarbag/
# wget http://www.nginx.org/download/nginx-1.0.6.tar.gz
# wget http://labs.frickle.com/files/ngx_cache_purge-1.3.tar.gz

编译安装

# cd /usr/local/src/tarbag/
# tar -xzvf nginx-1.0.6.tar.gz -C /usr/local/src/software
# tar -xzvf ngx_cache_purge-1.3.tar.gz -C /usr/local/src/software

# cd /usr/local/src/software/nginx-1.0.6
# ./configure
--prefix=/usr/local/nginx-1.0.6 # 安装路径

--with-http_stub_status_module # 启用 nginx 状态模块

--with-http_ssl_module # 启用 SSL 模块
--with-http_realip_module # 启用 realip 模块(将用户 IP 转发给后端服务器)

--add-module=../ngx_cache_purge-1.3 # 添加缓存清除扩展模块

#make

#make install

内核优化

#vim /etc/sysctl.conf

net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 1800

net.ipv4.ip_conntrack_max = 16777216 # 如果使用默认参数,容易出现网络丢包

net.ipv4.netfilter.ip_conntrack_max = 16777216# 如果使用默认参数,容易出现网络丢包

net.ipv4.tcp_max_syn_backlog = 65536

net.core.netdev_max_backlog = 32768

net.core.somaxconn = 32768

net.core.wmem_default = 8388608

net.core.rmem_default = 8388608

net.core.rmem_max = 16777216

net.core.wmem_max = 16777216

net.ipv4.tcp_timestamps = 0

net.ipv4.tcp_synack_retries = 2

net.ipv4.tcp_tw_recycle = 1

net.ipv4.tcp_tw_reuse = 1

net.ipv4.tcp_max_orphans = 3276800

配置生效

#sysctl -p

配置web页面

#echo 1 > /www/html/www.heytool.com

#echo 2 > /www/html/bbs.heytool.com

修改nginx配置文件

vim /etc/nginx.conf

user nobody nobody;   # 运行 nginx 的所属组和所有者

worker_processes 2; # 开启两个 nginx 工作进程,一般几个 CPU 核心就写几error_log logs/error.log notice; # 错误日志路径
pid logs/nginx.pid; # pid 路径
events {

worker_connections 1024; # 一个进程能同时处理 1024 个请求

}

http {
  include    mime.types;
  default_type    application/octet-stream;
 

 

log_format  main  

 

 

access_log logs/access.log main; # 默认访问日志路径sendfile on;

keepalive_timeout 65; # keepalive 超时时间

# 开始配置一个域名,一个 server 配置段一般对应一个域名

server {

listen 80; #
# 在本机所有 ip 上监听 80,也可以写为 192.168.1.202:80,这样的话,就只监听 192.168.1.202 上的 80 端口

server_name www.heytool.com; # 域名
    root /www/html/www.heytool.com; # 站点根目录(程序目录)
    index index.html index.htm; # 索引文件

 location / {    #可以有多个localtion
      root    /www/html/www.heytool.com;
}
error_page 500 502 503 504 /50x.html

# 定义错误页面,如果是 500 错误,则把站点根目录下的 50x.html 返回给用户

location = /50x.html {

    root /www/html/www.heytool.com;

  }

}

#开始配置站点bbd.heytool.com

server {

  listen   80;

  server_name  bbs.heytool.com;

  root  /www/html/bbs.heytool.com;

  index   index.html index.html; #索引文件

  location / {

   root    /www/html/bbs.heytool.com;

  error_page    500 502 503 504   /50x.html

  location = /50x.html {

    root    /www/html/bbs.heytool.com;

    }

  }

}

nginx启动关闭

#/usr/local/nginx-1.0.6/sbin/nginx    //启动nginx

#/usr/local/nginx-1.0.6/sbin/nginx -t   //检测nginx配置文件

#/usr/local/nginx-1.0.6/sbin/nginx -s reload  //重载nginx

#/usr/local/nginx-1.0.6/sbin/nginx -s stop  //关闭nginx

测试

创建测试站点

# mkdir –p /www/html/www.heytool.com
# mkdir –p /www/html/bbs.heytool.com
# echo “www.heytool.com” > /www/html/www.heytool.com/index.html

# echo “bbs.heytool.com” > /www/html/bbs.heytool.com/index.html

启动nginx

# /usr/local/nginx-1.0.6/sbin/nginx –t //看到 ok 和 successful,说明配置文件没问题nginx: the configuration file

/usr/local/ nginx-1.0.6/conf/nginx.conf syntax is ok nginx: configuration file

/usr/local/ nginx-1.0.6/conf/nginx.conf test is successful

# /usr/local/nginx-1.0.6/sbin/nginx

绑定hosts,测试

把两个域名指向 192.168.1.202

192.168.1.202 www.heytool.com

192.168.1.202 bbs.heytool.com

打开 www.heytool.com,如下图:

技术分享图片
 
 

打开 bbs.heytool.com,如下图:

技术分享图片
 
完毕!!!

 

 



















以上是关于nginx之三:nginx安装配置+清缓存模块安装的主要内容,如果未能解决你的问题,请参考以下文章

mac下Nginx+lua模块编译安装

Linux 配置 nginx + php

NGINX proxy 模块如何如何缓存动态页面内容?如何让缓存过期

FastDFS配置Nginx模块

Nginx反向代理缓存配置

FastDFS安装与nginx反向代理配置