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