千家信息网

Nignx服务基础

发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,一、Nginx简介;概述:Nginx是一款由俄罗斯开发的开源的高性能HTTP服务器和反向代理服务器,同时支持IMAP/POP3/SMTP代理服务,其性能优势着为显著,官网上称:单台nginx服务器可以
千家信息网最后更新 2026年11月04日Nignx服务基础

一、Nginx简介;

概述:Nginx是一款由俄罗斯开发的开源的高性能HTTP服务器和反向代理服务器,同时支持IMAP/POP3/SMTP代理服务,其性能优势着为显著,官网上称:单台nginx服务器可以处理50000并发;
特点:高性能、稳定、消耗硬件资源小、能够处理大并发,主要用于静态的解析,动静页面的分离;
优势:
1.作为Web服务器,nginx处理静态文件、索引文件以及自动索引效率非常高。
2.作为代理服务器,Nginx可以实现无缓存的反向代理加速,提高网站运行速度。
3.作为负载均衡服务器,Nginx既可以在内部直接支持Rails和PHP,也可以支持HTTP代理服务器,对外进行服务。同时支持简单的容错和利用算法进行负载均衡。

二.安装nginx程序

(1)安装支持软件
Nginx的配置以及运行需要pcre、zlib等软件包的支持。
yum install gcc gcc-c++ pcre-devel zlib-devel
(2)创建运行用户组
Nginx服务程序默认以nobody身份运行,建议创建专门的用户账号,以便更准确控制器访问权限,怎加灵活性,安全、降低风险。
useradd -M -s /sbin/nologin nginx
(3)编译安装Nginx

root@localhost opt]# cd nginx-1.12.0/[root@localhost nginx-1.12.0]#./configure \--prefix=/usr/local/nginx \  #安装目录 --user=nginx \                                  #运行用户为Nginx --group=nginx \                             #运行组为Nginx --with-http_stub_status_module     #模块以支持状态统计,便于查看服务器的信息连接 [root@localhost nginx-1.12.0]# make && make install

(4)优化路径
为了方便管理,可以为主程序ngin创建链接文件,方便直接用nginx命令直接调用nginx主程序

ln -s /usr/local/nginx/sbin/nginx /usr/sbin/
(5)检查配置

[root@localhost ~]# nginx -tnginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is oknginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

(6)启动和停止Nginx

[root@localhost ~]# nginx  启动[root@localhost ~]# killall -s HUP nginx  #重载配置[root@localhost ~]# killall -s QUIT nginx #停止服务

(6)使用Nginx服务脚本
为了使用Nginx服务启动、停止、重载等操作更加方便,并使用chkconfig和service工具来进行管理。

[root@localhost ~]# vim /etc/init.d/nginx #!/bin/bash#chkconfig: - 99 20 description: Nginx Service Control ScriptPROG="/usr/local/nginx/sbin/nginx"PIDF="/usr/local/nginx/logs/nginx.pid"case "$1" instart)        $PROG;;stop)        kill -s QUIT $(cat $PIDF);;reload)        $0 stop        $0 start;;restart)        kill -s HUP $(cat $PIDF);;*)        echo "Usage:$0 {start|stop|restart|reload}";;esacexit 0[root@localhost ~]# chmod +x /etc/init.d/nginx[root@localhost ~]# chkconfig --add nginx

三.配置文件nginx.conf

1.全局配置

#user  nobody;  #运行用户worker_processes  1; #工作进程数量#error_log  logs/error.log;   #错误日志#error_log  logs/error.log  notice;#error_log  logs/error.log  info;#pid        logs/nginx.pid; #PID文件的位置

2.I/O事件配置
使用"event{}"定界表记,用来指定Nginx的进程的I/O响应模型,每个进程的连接数设置。

events {    worker_connections  1024;   #每个进程处理4096个连接}

3.HTTP配置
使用"http{}"界定标记包括访问日志,HTTP端口、页面目录、默认字符集、连接保持、以及虚拟Web主机、PHP解析等一系列设置。其中大部分配置语句包含在界定标记"server{}"内

http {    include       mime.types;    default_type  application/octet-stream;    sendfile        on;    keepalive_timeout  65;#保持连接超时        #access_log  logs/access.log  main;    #gzip  on;    server { #Web服务的监听配置        listen 192.168.242.220:80;#监听地址端口        server_name  192.168.242.220:80;#网站名称        charset utf-8;#网页的默认字符集        access_log  logs/www.kgc.com.host.access.log;#访问日志位置        location / {  #根目录配置            root /var/www/html/kgc; #网站跟目录的位置            index  index.html index.htm;#默认网页(索引页)        }        error_page   500 502 503 504  /50x.html; #内部错误的反馈页面        location = /50x.html {   #错误页面配置            root   html;        }    }

3.访问状态统计
Nginx内置了HTTP_STUB_STATUS状态统计模块,用来反馈当前的Web访问情况,配置编译数时可以怎加--with-http_stub_status_mdule来开启此模块支持

要使用nginx的状态统计功能,除了启用内建模块以外,还需要修改nginx.conf配置文件。指定访问位置并添加stub_status
location / {            stub_status on;#打开状态统计功能            access_log off;#关闭此位置的日志记录            root /var/www/html/kgc;            index  index.html index.htm;        }

Nginx访问控制

基于授权的访问控制步骤
1.使用htpasswd生成用户认证文件,如果没有该命令,可使用yun安装httpd-tools软件包

[root@localhost ~]#htpasswd /usr/local/nginx/passwd.db jiji #在/usr/local/nginx目录生成passwd.db文件,用户名为jiji,密码输入两次。在passwd.db中生成用户和密码的密文

2.修改密码文件的权限为400,将所有者改为nginx

[root@localhost ~]# chmod 400 /usr/local/nginx/passwd.db [root@localhost ~]# chown nginx /usr/local/nginx/passwd.db

3.修改主配置文件nginx.conf 添加相应认证配置项

location / {            stub_status on;#打开状态统计功能            access_log off;#关闭此位置的日志记录            root /var/www/html/kgc;            index  index.html index.htm;            auth_basic "secret";#添加认证配置            auth_basci_user_file /usr/loacl/nginx/passwd.db        }

基于客户端的访问控制
1.deny IP /IP段 :拒绝某个IP或IP段的客户端
2.allow IP/IP段: 允许某个IP或IP段的客户端
3.规则从上往下执行,如匹配则停止,不再往下匹配

location / {            stub_status on;            access_log off;            root /var/www/html/kgc;            index  index.html index.htm;             deny 192.169.10.10; #客户端IP             allow all;        }

Nginx虚拟主机

每个虚拟Web站点拥有独立的server{}配置端,各自监听的ip地址 端口号可以单独指定,网络名称不同
1.基于IP的虚拟主机
2.基于域名的虚拟主机
3.基于端口的虚拟主机

基于域名虚拟主机设置
server { #加入www.kgc.com对应的站点        listen       80;          server_name  www.kgc.com; #监听地址        charset utf-8;        access_log  logs/www.kgc.com.host.access.log;        location / {            root /var/www/html/kgc; #www.kgc.com工作目录            index  index.html index.htm;        }        error_page   500 502 503 504  /50x.html;        location = /50x.html {            root   html;        }    }server { #加入www.accp.com 对应的站点        listen       80;         server_name  www.accp.com;#监听地址        charset utf-8;        access_log  logs/www.accp.com.host.access.log;        location / {            root /var/www/html/accp; #工作目录            index  index.html index.htm;        }        error_page   500 502 503 504  /50x.html;        location = /50x.html {            root   html;        }        }

基于ip地址

server {        listen 192.168.242.220:80; #监听192.168.242.220        server_name  192.168.242.220:80;         charset utf-8;        access_log  logs/www.kgc.com.host.access.log;        location / {            root /var/www/html/kgc;            index  index.html index.htm;        }        error_page   500 502 503 504  /50x.html;        location = /50x.html {            root   html;        }    }server {        listen 192.168.242.167:80;        server_name  192.168.242.167:80; #监听192.168.242.167        charset utf-8;        access_log  logs/www.accp.com.host.access.log;        location / {            root /var/www/html/accp;            index  index.html index.htm;        }        error_page   500 502 503 504  /50x.html;        location = /50x.html {            root   html;        }        }

基于端口

server {        listen 192.168.242.220:80;        server_name  192.168.242.220:80;        charset utf-8;        access_log  logs/www.kgc.com.host.access.log;        location / {            root /var/www/html/kgc;            index  index.html index.htm;        }        error_page   500 502 503 504  /50x.html;        location = /50x.html {            root   html;        }    }    server {        listen 192.168.242.220:8080;        server_name  192.168.242.220:8080;        charset utf-8;        access_log  logs/www.accp.com.host.access.log;        location / {            root /var/www/html/accp;            index  index.html index.htm;        }        error_page   500 502 503 504  /50x.html;        location = /50x.html {            root   html;        }        }
配置 服务 文件 服务器 支持 用户 监听 运行 主机 位置 状态 目录 统计 地址 日志 虚拟主机 代理 客户 模块 端口 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 科技制造互联网公司 中国 科技 互联网 齐家互联网科技 唐信互联网科技 互联网科技logo设计 友谊互联网络科技 猫创互联网科技 居家互联网科技有限公司 互联网科技股午盘股票涨跌 互联网科技生活的内容 汉立互联网科技有限公司联系电话 互联网科技公司需要的职位 江苏南京365互联网科技 广州市恰铎互联网科技有限公司 互联网公司黑科技创始人 互联网公司高科技产品 互联网营销推广黑科技 美国互联网科技公司 河南商务圈互联网科技有限公司 山东亿川互联网科技有限责任公司 广西互联网科技公司 狮子座互联网科技培训 互联网科技有限公司 翻译 恒银科技与互联网金融 来此购互联网科技有限公司 南平创想时代互联网科技有限公司 为客找房互联网科技公司怎么样 四川互联网展示科技馆设计 现代科技的标志之一的互联网 颐高云石互联网科技
0