Nginx教程1-介绍与安装

Nginx介绍与安装

1.为什么要学习Nginx

Ⅰ.Nginx的诞生:2004年10月由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点开发的

Ⅱ.当前的WebServer市场占有率

实时更新网址:https://news.netcraft.com/archives/2019/

Nginx教程1-介绍与安装_第1张图片
Snipaste_2019-07-31_14-49-32.jpg

Ⅲ.Nginx功能介绍:Http服务、反向代理、负载均衡、邮件代理、缓存加速、SSL、flv/mp4流媒体

选择Nginx的核心理由:它能在支持高并发请求的同时保持高效的服务

Ⅳ. Nginx官网、版本

➀ Nginx官网:http://nginx.org/

➁使用版本


Nginx教程1-介绍与安装_第2张图片
Snipaste_2019-07-31_14-55-10.jpg

Ⅴ.Nginx安装

➀.yum安装

首先,大家可能会用 yum -y install nginx 安装nginx,但是却安装失败,那是因为本地centos系统的yum仓库并没有nginx,需要自己新创建一个“/etc/yum.repos.d/nginx.repo”的文件(其实就是新增一个yum源)

//需要复制到源文件的配置内容
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1

Nginx教程1-介绍与安装_第3张图片
Snipaste_2019-08-01_14-29-16.jpg

其次,使用yum命令查询一下我们的nginx的yum源配置是否成功


Nginx教程1-介绍与安装_第4张图片
Snipaste_2019-08-01_14-35-58.jpg

然后,使用yum命令安装nginx: yum install -y nginx
查看安装的nginx版本nginx -v

接下来,操作nginx: systemctl start/stop/restart/reload nginx 启动|停止|重启|重新加载配置 nginx

最后,测试用浏览器访问
先检查服务进程:ps aux |grep nginx
检查端口监听:netstat -lntp
如果有防火墙问题,添加放行端口规则:iptables -I INPUT -p tcp --dport 80 -j ACCEPT

Nginx教程1-介绍与安装_第5张图片
Snipaste_2019-08-01_15-06-55.jpg

➁.源码安装: 如果你已经用上面的yum安装了,先用yum remove nginx指令卸载

yum安装虽然方便,但是只限于在支持yum的系统上

如果要用到第三方的定制模块,也需要用源码安装

首先,cd /usr/local/src/ 在该目录下载源码包wget http://nginx.org/download/nginx-1.14.0.tar.gz

其次,解压展开源码文件

Nginx教程1-介绍与安装_第6张图片
Snipaste_2019-08-01_15-45-30.jpg

然后,进入解压后的文件夹cd nginx-1.14.0
进行编译前配置./configure --prefix=/usr/local/nginx
如果有报错先安装模块yum -y install pcre-devel openssl openssl-devel

Nginx教程1-介绍与安装_第7张图片
Snipaste_2019-08-01_16-02-31.jpg

执行编译安装 make && make install
查看版本号 /usr/local/nginx/sbin/nginx -v

接下来,操作nginx,源码安装需要设置自定义启动方式,不然只能用命令行在文件目录启动
/usr/local/nginx/sbin/nginx //启动
pkill nginx //杀死nginx进程 //停止nginx服务
/usr/local/nginx/sbin/nginx -t//检测配置文件语法错误
/usr/local/nginx/sbin/nginx -s reload //重载配置

最后,测试用浏览器访问


源码安装其他设置

  • 用脚本去快捷操作服务:
    首先,创建nginx脚本文件 vi /etc/init.d/nginx
    然后在nginx添加内容如下,如果内容有误可以按esc(退出内容写入状态)+:%d清空内容
#!/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

之后设置用户的权限 chmod 755 /etc/init.d/nginx

755 用户的权限为:
1.文件所有者可读可写可执行                                   --7
2.与文件所有者同属一个用户组的其他用户可读可执行 --5 
3.其它用户组可读可执行  --5

我们就可以在任意位置用脚本去操作nginx
/etc/init.d/nginx start/stop/restart/reload 启动|停止|重启|重新加载配置

  • 每次启动或者重启服务需要进入到/usr/local/nginx下操作,比较麻烦,于是把Nginx添加到系统服务中开机启动:

首先,添加nginx.service vim /lib/systemd/system/nginx.service

然后在nginx.service添加内容如下:

[Unit]
Description=nginx service
After=network.target 
   
[Service] 
Type=forking 
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true 
   
[Install] 
WantedBy=multi-user.target

我们就可以在任意linux目录下调用如下命令

systemctl start nginx.service          启动nginx服务
systemctl stop nginx.service           停止服务
systemctl restart nginx.service        重新启动服务
systemctl list-units --type=service     查看所有已启动的服务
systemctl status nginx.service          查看服务当前状态
systemctl enable nginx.service          设置开机自启动
systemctl disable nginx.service         停止开机自启动

你可能感兴趣的:(Nginx教程1-介绍与安装)