Nginx安装
1.下载相关组件
yum install -y gcc gcc-c++                                   #安装C/C++编译器
yum -y install gd-devel geoip-devel perl-ExtUtils-Embed
wget http://125.39.35.133/files/40450000042A3380/zlib.net/zlib-1.2.8.tar.gz
wget http://sourceforge.net/projects/pcre/files/pcre/8.37/pcre-8.37.tar.gz
wget https://www.openssl.org/source/openssl-1.0.2h.tar.gz
wget http://labs.frickle.com/files/ngx_cache_purge-2.1.tar.gz
wget http://nginx.org/download/nginx-1.6.2.tar.gz
 
2.顺次解压安装zlib/pcre/openssl/nginx并安装
zlib/pcre这些库文件直接 ./configure &&make &&make install
tar xf openssl-1.0.2h.tar.gz -C /root
cd /root/openssl-1.0.2h
./config --prefix=/usr/local --openssldir=/usr/local/openssl
make
make install
cd /root/nginx-1.6.2./configure --add-module=/root/ngx_cache_purge-2.1 --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --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.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module --with-http_auth_request_module --with-mail --with-file-aio --with-ipv6 --with-http_spdy_module --with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic'  --with-http_degradation_module --with-http_perl_module --with-ld-opt=-Wl,-E --with-mail_ssl_module --with-http_image_filter_module --with-http_geoip_module --with-http_ssl_module --with-openssl=/root/openssl-1.0.2h
makemake install
 
 
 
 
错误信息:
/usr/local/nginx/sbin/nginx: error whileloading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory
解决方法:
cd /lib64
ln -s libpcre.so.0.0.libpcre.so.1
 
 
启动方法:
启动:nginx
停止:nginx -s stop
重载:nginx reload
 
3.虚拟主机
基于域名的虚拟主机:
     server {
          listen 80;
          server_name www1.zyg.com;
          root /etc/nginx/www1;                            #创建目录
          index index.html;
     }
     server {
          listen 80;
          server_name www2.zyg.com;
          root /etc/nginx/www2;
          index index.html;
     }
基于IP的虚拟主机:
     server {
          listen 192.168.122.11:80;
          root /etc/nginx/www1;
          index index.html;
     }
     server {
          listen 2.2.2.1:80;
          root /etc/nginx/www2;
          index index.html;
     }
基于端口的虚拟主机:
     server {
          listen 8001;
          root /etc/nginx/www1;
          index index.html;
     }
     server {
          listen 8002;
          root /etc/nginx/www2;
          index index.html;
     }
 
4.访问控制
    server {
        listen 8001;
        root www1;
        index index.html;
        auth_basic "test";                #一个提示
        auth_basic_user_file /usr/local/nginx/passwd.db;
    }

server {
        listen 8002;
        root www2;
        index index.html;
        allow 192.168.122.0/24;
        deny all;
    }

[root@node1 nginx]# htpasswd -c /usr/local/nginx/passwd.db power     #给power设置密码
 
5.平滑升级
• 使用新的可执行程序替换旧的可执行程序,对于编译安装的Nginx,可以将新版本编译安装到旧版本的nginx安装路径中.替换之前,最好备份一下旧的可执行程序
• 发送以下指令:
Kill USR2 <旧版本的nginx主进程号>
• 旧版本的主进程将重命名它的pid文件为.oldbin (例如:/usr/local/nginx/logs/nginx.pid.oldbin),然后执行新版本的nginx可执行程序,依次启动新的主进程和新的工作进程.
• 此时,新旧版本的nginx实例会同时运行,共同处理输入的请求.要逐步停止旧版本的nginx实例,你必须发送WINCH信号给旧的主进程,然后,它的工作进程就将开始从容关闭:
    kill WINCH <旧版本的Nginx主进程号>
• 一段时间后,旧的工作进程(worker process)处理了所有已连接的请求后退出,仅由新的工作进程来处理输入的请求了.
• 这时候,我们可以决定是使用新版本,还是回复到旧的版本;
    Kill HUP <旧的主进程号>:Nginx将在不重载配置文件的情况下启动它的工作进程;
    Kill QUIT <新的主进程号>:正常关闭其它工作进程(woker process);
    如果此时报错, 提示还有进程没有结束就用下面命令先关闭旧工作进程,再关闭主进程号:
    Kill TERM <新的工作进程号>:强制退出工作进程;
    Kill <新的主进程号或旧的主进程号>:如果因为某些原因新的工作进程不能退出,则向其发送kill信号.
  新的主进程退出后,旧的主进程会移除.oldbin前缀,恢复为他的.pid文件,这样,一切就都恢复到升级之前了,如果尝试升级成功,而你也希望保留新的服务器时,可发送QUIT信号给旧的主进程,使其退出而只留下新的服务器运行
 
6.日志切割
  mv /data1/logs/access.log /data1/logs/20160520.log
  kill -USR1 'cat /var/run/nginx/nginx.pid'  #这样的话就不用ps查找Nginx主进程号了.

如果要让它每天定时切割日志,可以编写shell脚本.并且利用crontab来每天定时运行.

#!/bin/bash
  #定义Nginx日志文件的存放路径
  logs_path = "/var/logs/nginx/"

mkdir -p ${logs_path}$(date -d "yesterday" + "%Y")/$(date -d "yesterday" +"%m")/
  mv ${logs_path}access.log  ${logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday"+"%m")/access_$(date -d "yesterday" + "%Y%m%d").log
  kill -USR1 'cat /var/run/nginx/nginx.pid'

再配置crontab,输入crontab -e
  输入:
  00 00 * * * /bin/bash /usr/loca/webserver/nginx/sbin/cut_nginx_log.sh

Nginx的安装及简单配置的更多相关文章

  1. nginx 编译安装以及简单配置

    前言 Nginx的大名如雷贯耳,资料太多了,网上一搜一大把,所以这里就不阐述nginx的工作原理了,只是简单的编译安装nginx,然后呢,简单配置一下下. 下载Nginx.安装 下载地址:http:/ ...

  2. docker的安装和简单配置

    docker的安装和简单配置 docker是balabalabala...懒得介绍. 国内安装docker很蛋疼,按照官方配置好了软件源之后,几十MB的安装文件下载要半天,没办法,docker默认的软 ...

  3. <转载> FreeNAS的安装和简单配置 http://freenas.cn/?p=342

    前些日子在公司搭了一个模拟生产环境的平台.由于是测试环境,资源有限只能使用虚拟机实现,所以存储这块就想到了使用FreeNAS.很早以前玩儿过几次,当时是生产环境需要上存储设备,经过对比还是选择的更可靠 ...

  4. Keepalived 安装与简单配置

    Keepalived 安装与简单配置 http://sivxy.lofter.com/post/1d21ebb9_7e15000

  5. Linux下的GitHub安装与简单配置教程 ~ 转载

    Linux下的GitHub安装与简单配置教程   1.GitHub简介 Git是一个分布式版本控制系统,与其相对的是CVS.SVN等集中式的版本控制系统. 2.Git的安装 1)安装Git a.查看与 ...

  6. Nginx的安装及相关配置

    Nginx的安装及相关配置 Nginx 是 C语言 开发,建议在 Linux 上运行,当然,也可以安装 Windows 版本,本篇则使用 CentOS 7 作为安装环境. 一. gcc 安装 安装 n ...

  7. Manjaro安装后简单配置

    一个相见恨晚的 Linux 操作系统 Manjaro 到底有多受欢迎? DistroWatch是一个包含了各种Linux发行版及其他自由/开放源代码的类Unix操作系统. (如OpenSolaris. ...

  8. nginx的安装及简单负载均衡配置

    Nginx 是一个很强大的高性能Web和反向代理服务器,它具有很多非常优越的特性.本人目前所在公司也使用nginx,主要用来做负载均衡服务器.同时也可以作为邮件代理服务器. 1. nginx的安装.本 ...

  9. lnmp源码安装以及简单配置

    nginx 软件: a: openssl-1.0.1r.tar.gz tar zxf openssl-1.0.1r.tar.gz b: pcre-8.32.tar.gz tar zxf openssl ...

随机推荐

  1. 【转】深入理解Java内存模型(六)——final

    与前面介绍的锁和volatile相比较,对final域的读和写更像是普通的变量访问.对于final域,编译器和处理器要遵守两个重排序规则: 在构造函数内对一个final域的写入,与随后把这个被构造对象 ...

  2. UIBezierPath和CAShapeLayer的关系

    CAShapeLayer是基于贝塞尔曲线而存在的, 如果没有贝塞尔曲线提供路径来画出图形, CAShapeLayer就没有存在的意义, CAShapeLayer可以使得不用在drawRect:方法中实 ...

  3. Linux学习——环境变量设置

    一般来说,配置交叉编译工具链的时候需要指定编译工具的路径,此时就需要设置环境变量.例如我的mips-linux-gcc编译器在“/opt/au1200_rm/build_tools/bin”目录下,b ...

  4. html网页代码各种名称及作用

    基本Web页文件<HTML><HEAD><TITLE></TITLE></HEAD><BODY></BODY>< ...

  5. 武汉科技大学ACM :1006: A+B for Input-Output Practice (VI)

    Problem Description Your task is to calculate the sum of some integers. Input Input contains multipl ...

  6. Java中的HashMap和Hashtable

    代码: import java.util.*; public class test{ public static void main(String[] args) { HashMap hm = new ...

  7. 解决secureCRT数据库里没有找到防火墙 '无'问题,转自:http://jingyan.baidu.com/article/9989c74601274bf649ecfe74.html

    中文版的secureCRT由于汉化的问题(把null翻译成无了),导致每次打开都会有个防火墙的错误提示:数据库里没有找到防火墙 '无' 此会话将尝试不通过防火墙进行连接.出现这个错误的原因是在secu ...

  8. CentOS 7 之Cisco Anyconnect Secure Mobility Client

    公司使用的是Cisco VPN, 于是准备使用一下.先登录公司的vpn页面,意料之中的失败,所以下载了vpnsetup.sh这个来手动安装. 手动是要用root的,不过由于我是个人学习使用机器,一直用 ...

  9. 发布一款仿天猫产品放大镜JQuery插件

    效果如下图: 1.原图 2.放大镜效果: 插件源码如下: /* * * JQUERY 简洁无极放大镜插件-zoomer * Author:盛世游侠 * QQ:418873053 * Date:2013 ...

  10. jq仿虾米网flash效果

    这是很久以前写的一个效果了,之前虾米音乐网首页的一个flash效果,最初觉得这flash效果也可以完全用jq来写,于是空余时间就写了下当作练习吧,现在就拿出来跟大家分享下其中的实现原理! 先上最终效果 ...