Nginx详解(一)

版权声明:欢迎转载,转载请注明出处 https://blog.csdn.net/miss1181248983/article/details/81428141

1.Nginx介绍

常见的WebServer

老牌:httpd(早期叫Apache),开源,市场份额最高
微软:IIS
轻量:Lighttpd,性能高,低耗能,功能欠缺

Nginx诞生

2004年10月发布,由俄国人Igor Sysoev开发

官网地址:http://nginx.org/ ,最新版本1.15.2

国内分支Tengine,http://tengine.taobao.org/

Nginx功能

http服务、反向代理、负载均衡、邮件代理、缓存加速、SSL、flv/mp4流媒体


2.Nginx安装

yum安装

yum install -y epel-release             //安装扩展源
yum install -y nginx

除了上面之外,还可以自定义源,这样的话安装nginx的版本比上面更新

vim /etc/yum.repos.d/nginx.repo           //写入下面内容
[nginx] 
name=nginx repo 
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ 
gpgcheck=0 
enabled=1
yum install -y nginx             //如果有epel源则先要禁用,否则冲突

启动nginx

systemctl start nginx

关闭nginx

systemctl stop nginx

重启nginx

systemctl restart nginx

查看nginx进程

ps aux |grep nginx
或
netstat -lntp           //80端口

也可以浏览器访问机器的IP或者直接curl

如果有防火墙,可以放行80端口

iptables -I INPUT -p tcp --dport 80 -j ACCEPT

查看nginx版本以及各个目录参数

nginx -V            //V大写

源码安装

下载源码包

wget http://nginx.org/download/nginx-1.14.0.tar.gz

解压

tar zxf nginx-1.14.0.tar.gz

初始化

cd nginx-1.14.0; ./configure --prefix=/usr/local/nginx       //如果有报错,yum安装pcre-devel和zlib-devel

安装

make && make install

启动nginx

/usr/local/nginx/sbin/nginx

关闭nginx

pkill nginx              //杀死nginx进程

检测配置文件语法错误

/usr/local/nginx/sbin/nginx -t

重载配置

/usr/local/nginx/sbin/nginx -s reload

上面启动略为麻烦,所以我们可以自定义脚本来管理nginx服务

vim /etc/init.d/nginx               //写入下面内容
#!/bin/bash
# chkconfig: - 30 21
# description: http service.
# Source Function Library
. /etc/init.d/functions
# Nginx Settings

NGINX_SBIN="/usr/local/nginx/sbin/nginx"
NGINX_CONF="/usr/local/nginx/conf/nginx.conf"
NGINX_PID="/usr/local/nginx/logs/nginx.pid"
RETVAL=0
prog="Nginx"

start() 
{
    echo -n $"Starting $prog: "
    mkdir -p /dev/shm/nginx_temp
    daemon $NGINX_SBIN -c $NGINX_CONF
    RETVAL=$?
    echo
    return $RETVAL
}

stop() 
{
    echo -n $"Stopping $prog: "
    killproc -p $NGINX_PID $NGINX_SBIN -TERM
    rm -rf /dev/shm/nginx_temp
    RETVAL=$?
    echo
    return $RETVAL
}

reload()
{
    echo -n $"Reloading $prog: "
    killproc -p $NGINX_PID $NGINX_SBIN -HUP
    RETVAL=$?
    echo
    return $RETVAL
}

restart()
{
    stop
    start
}

configtest()
{
    $NGINX_SBIN -c $NGINX_CONF -t
    return 0
}

case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  reload)
        reload
        ;;
  restart)
        restart
        ;;
  configtest)
        configtest
        ;;
  *)
        echo $"Usage: $0 {start|stop|reload|restart|configtest}"
        RETVAL=1
esac

exit $RETVAL

启动nginx

chmod 755 /etc/init.d/nginx             //更改权限
/etc/init.d/nginx start              //启动nginx

关闭nginx

/etc/init.d/nginx stop

重启nginx

/etc/init.d/nginx restart

使nginx开机启动

chkconfig --add nginx            //适用于CentOS 6
chkconfig nginx on            //适用于CentOS 6

或者

systemctl enable nginx           //适用于CentOS 7

猜你喜欢

转载自blog.csdn.net/miss1181248983/article/details/81428141