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