centos 安装配置nginx及配置文件详解

Linux piniu 822浏览 0评论

这里就不提供nginx的下载地址了,自己nginx官网下载即可,这里使用的是 nginx-1.12.2版本的,以下就是安装配置步骤了

# 1.解压安装包
tar zxvf nginx-1.12.2.tar.gz
cd nginx-1.12.2

# 2.安装依赖包
yum install gcc pcre pcre-devel openssl openssl-devel zlib zlib-devel

# 3.创建nginx用户
useradd -M -s /sbin/nologin nginx

# 4.编译
./configure –user=nginx –group=nginx –prefix=/usr/local/nginx-1.12.2 -with-http_stub_status_module –with-http_ssl_module

# 5.安装
make
make install

# 6.基本使用
/usr/local/nginx-1.12.2/sbin/nginx -t  #检查语法

/usr/local/nginx-1.12.2/sbin/nginx  #启动服务

/usr/local/nginx-1.12.2/sbin/nginx -s reload  #重新加载

#配置nginx支持php

location ~ \.php$ {
	root /var/www/html; #指定php的根目录
	fastcgi_pass 127.0.0.1:9000;#php-fpm的默认端口是9000
	fastcgi_index index.php;
	fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
	include fastcgi_params;
}

#配置nginx开启gzip压缩

gzip on;
gzip_min_length 1k;
gzip_buffers 4 32k;
gzip_http_version 1.1;
gzip_comp_level 9;
gzip_types text/css text/xml application/javascript;
gzip_vary on;

#附: nginx服务的启动脚本

vim /etc/init.d/nginx 添加如下内容,最后在添加执行权限 chmod +x /etc/init.d/nginx

#!/bin/bash
 
#chkconfig: - 99 20
 
#description:Nginx Server Contorl Script
 
PROG="/usr/local/nginx-1.12.2/sbin/nginx"
 
PIDF="/usr/local/nginx-1.12.2/logs/nginx.pid"
 
ok=`echo -e "\e[1;31m [ok] \e[0m"`
 
no=`echo -e "\e[1;31m [no] \e[0m"`
 
detection=`/usr/local/nginx-1.12.2/sbin/nginx -t 2>&1`
 
screen_1=`echo $detection | awk '{print $6,$7,$8}'`
 
screen_2=`echo $detection | awk '{print $13,$14,$15}'`
 
if [ "$screen_1" = "syntax is ok" ] && [ "$screen_2" = "test is successful" ];
 
then
 
    case "$1" in
 
    start)
 
      $PROG
 
      echo "Nginx Is starting state $ok"
 
      ;;
 
    stop)
 
      kill -s QUIT $(cat $PIDF)
 
      echo "Nginx Is closing state $ok"
 
      ;;
 
    restart)
 
      $0 stop
 
      $0 start
 
      echo "Nginx Is to restart state $ok"
 
      ;;
 
    reload)
 
      kill -s HUP $(cat $PIDF)
 
      echo "Nginx Is overloaded state $ok"
 
      ;;
 
    *)
 
      echo "Usage: $0 (start|stop|restart|reload)"
 
      exit 1
 
      esac
 
else
 
  echo "Nginx check state $no "
 
  echo "Please check the configuration file"
 
  echo "$detection"
 
fi
 
exit 0

#主配置文件讲解
[root@localhost ~]# egrep -v “#|^$” /usr/local/nginx-1.12.2/conf/nginx.conf

worker_processes 1; #指定Nginx开启的进程数
 
events { #设定Nginx的工作模式及连接数上限
 
	worker_connections 1024;
 
}
 
http {
 
	include mime.types; #主模块命令,实现对配置文件所有包含文件的设置
 
	default_type application/octet-stream; #属于http核心模块命令,这里设置类型为二进制流,也就是当文件类型未定义时使用这种方式,例如,没有配置PHP环境时,nginx是不给予解析的,此时,用浏览器访问PHP文件就会出现下载窗口。
	
	sendfile on; #用于高效文件传输模式
 
	keepalive_timeout 65; 设置客户端请求头文件读取超时时间,如果超过这个时间服务器会关闭该连接。
 
	server { #定义虚拟主机开始的关键字
 
		listen 80; #用于指定虚拟主机的服务端口
 
		server_name localhost; 用于指定ip地址或者域名,多个域名用空格隔开
 
		location / {
 
			root html;
 
			index index.html index.htm; #用于设定访问的默认首页
 
		}
 
		error_page 500 502 503 504 /50x.html;# 静态页面重定向服务器错误页面,例如携程的网站崩溃出现的页面
 
		location = /50x.html {
 
			root html;
 
		}
 
	}
 
}

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • * 昵称:
  • * 邮箱: