这里就不提供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; } } }