Nginx网站服务

本文介绍了Nginx的概述、优点和与Apache的区别,详细讲解了如何安装、配置和管理Nginx服务,包括访问控制和虚拟主机的设置。通过实例展示了基于域名、端口和IP的虚拟主机配置,以及使用HTTP_STUB_STATUS模块进行访问状态统计。
摘要由CSDN通过智能技术生成

目录

前言

一、关于Nginx

1、概述

2、优点

3、Nginx和Apache的对比

二、安装Nginx服务

1、解压源码包到/opt下,并查看

2、安装编译须要的环境组件包 

3、 建立程序用户nginx并编译Nginx

4、编译和安装

5、优化nginx启动脚本,以便于系统识别

6、启动、重新配置、停止Nginx

7、Nginx服务控制文件使用systemctl工具

8、测试

三、认识Nginx服务的主配置文件 nginx.conf

1、全局配置

2、I/O 事件配置

3、HTTP 配置

4、日志格式设定

四、Nginx访问控制

1、访问状态统计

2、访问控制

2.1  基于授权的访问控制

2.2  基于客户端的访问控制

五、Nginx虚拟主机

1、基于域名的Nginx虚拟主机

2、基于端口的虚拟机

3、基于不同IP访问

总结


 

前言

随着计算机与Internet技术的蓬勃发展,各种Web站点成为直接面向用户的中坚力量,在各种网站服务器软件中,除了Apache外,还有一款轻量级的HTTP服务器软件——Nginx,其稳定性、高效的特性逐渐被越来越多的用户认可。本篇博客将搭建Nginx网站服务器,并配置基于域名的虚拟Web主机。

一、关于Nginx

1、概述

Nginx是由俄罗斯的Igor Sysoev专为性能优化而开发,其最知名的优点是它的稳定性和低系统资源消耗,以及对HTTP并发连接的高处理能力(单台物理服务器可支持30 000~50 000个并发请求)。正因为如此,大量提供社交网络、新闻资讯、电子商务及虚拟主机等服务的企业纷纷选择Nginx来提供Web服务。

2、优点

  • 稳定性高
  • 系统资源消耗低
  • 对HTTP并发连接的处理能力高
  • 单台物理服务器可支持30000~50000个并发请求

3、Nginx和Apache的对比

  • Nginx是一个基于事件的Web服务器,Apache是一个基于流程的服务器
  • Nginx所有请求都由一个线程处理,Apache单个线程处理单个请求
  • Nginx避免子进程的概念,Apache是基于子进程的
  • Nginx在内存消耗和连接方面更好,Apache在内存消耗和连接方面一般
  • Nginx的性能和可伸缩性不依赖于硬件,Apache依赖于CPU和内存等硬件
  • Nginx支持热部署,Apache不支持热部署
  • Nginx对于静态文件处理具有更高效率,Apache相对一般
  • Nginx在反向代理场景具有明显优势,Apache相对一般

二、安装Nginx服务

1、解压源码包到/opt下,并查看

[root@localhost ~]# cd /mnt    ##切换到挂载点目录
[root@localhost mnt]# ls
apr-1.6.2.tar.gz                  Discuz_X2.5_SC_UTF8.zip  LAMP-php5.6.txt
apr-util-1.6.0.tar.gz             error.png                mysql-5.6.26.tar.gz
awstats-7.6.tar.gz                httpd-2.4.29.tar.bz2     nginx-1.12.0.tar.gz
cronolog-1.6.2-14.el7.x86_64.rpm  kali.jpg                 php-5.6.11.tar.bz2
[root@localhost mnt]# tar zxvf nginx-1.12.0.tar.gz -C /opt   ##解压Nginx源码包到/opt下
[root@localhost mnt]# cd /opt/    ##切换到解压的目录下
[root@localhost opt]# ls
nginx-1.12.0  rh

2、安装编译须要的环境组件包 

[root@localhost opt]# yum -y install \
gcc \                                       //c语言
gcc-c++ \                        //c++语言
pcre-devel \                     //pcre语言工具
zlib-devel                       //数据压缩用的函式库

3、 建立程序用户nginx并编译Nginx

[root@localhost opt]# useradd -M -s /sbin/nologin nginx  ##建立程序用户,安全不可登录状态
[root@localhost opt]# id nginx
uid=1001(nginx) gid=1001(nginx) 组=1001(nginx)
[root@localhost opt]# cd nginx-1.12.0/                 ##切换到nginx目录下
[root@localhost nginx-1.12.0]# ./configure \         ##配置nginx
> --prefix=/usr/local/nginx \        ##安装路径
> --user=nginx \                         ##用户名
> --group=nginx \                       ##用户组
> --with-http_stub_status_module     ##状态统计模块

4、编译和安装

make -j3 && make install

5、优化nginx启动脚本,以便于系统识别

[root@localhost nginx]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/  ##建立软链接让系统识别nginx启动脚本
[root@localhost nginx]# nginx -t       ##检查配置文件的语法问题
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@localhost nginx]# nginx      ##开启ngnix
[root@localhost nginx]# systemctl stop firewalld.service    ##关闭防火墙
[root@localhost nginx]# setenforce 0 

6、启动、重新配置、停止Nginx

​​[root@localhost nginx-1.15.9]# nginx  ## 启动 Nginx
[root@localhost nginx-1.15.9]# netstat -anpt |grep nginx ## 过滤Nginx的进程
[root@localhost ~]# yum -y install psmisc        ###最小安装没有killall令需要安装 
[root@localhost ~]# killall -s HUP nginx  ## 重载Nginx配置文件(相当于刷新)
[root@localhost ~]# killall -s QUIT nginx  ## 退出 Nginx

7、Nginx服务控制文件使用systemctl工具

[root@localhost ~]# vi /lib/systemd/system/nginx.service
[Unit]
Description=nginx   ###描述
After=network.target    ####描述服务类别
[Service]
Type=forking    ###后台运行形式
PIDFile=/usr/local/nginx/logs/nginx.pid   ###PID文件位置  
ExecStart=/usr/local/nginx/sbin/nginx    ###启动服务
ExecReload=/usr/bin/kill -s HUP $MAINPID  ###根据PID重载配置
ExecStop=/usr/bin/kill -s QUIT $MAINPID  ###根据PID终止进程
PrivateTmp=true
[Install]
WantedBy=multi-user.target
==>> wq 保存
[root@localhost ~]# chmod 754 /lib/systemd/system/nginx.service 
[root@localhost ~]# systemctl enabl
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值