Serviço de site Nginx - sobre a instalação do sistema nginx, estatísticas de status de acesso, controle de acesso, configurações de host virtual

Uma base de serviço nginx

1.1 Visão geral do nginx

Nginx é um servidor web / servidor proxy reverso leve e servidor proxy de e-mail (IMAP / POP3), lançado sob o protocolo semelhante ao BSD. Suas características são que ele ocupa menos memória e tem fortes recursos de simultaneidade. Na verdade, os recursos de simultaneidade do nginx têm melhor desempenho no mesmo tipo de servidor da Web. Os usuários da China continental de sites nginx incluem: Baidu, JD, Sina, NetEase, Tencent, Taobao, etc.

vantagem

No caso de alta simultaneidade de conexões, o Nginx é uma boa alternativa aos serviços do Apache: o Nginx nos Estados Unidos é uma das plataformas de software que os chefes que fazem negócios de hospedagem virtual costumam escolher. Ele pode suportar respostas de até 50.000 conexões simultâneas. Obrigado Nginx por escolher epoll e kqueue como o modelo de desenvolvimento para nós.

1.2 etapas de instalação do nginx

Desligue e desative o firewall primeiro

systemctl stop firewalld
systemctl disabled firewalld

Copie o pacote de software nginx para o diretório / opt,
Insira a descrição da imagem aqui
descompacte e instale o nginx

cd /opt
tar xzvf nginx-1.15.9.tar.gz 
useradd -M -s /bin/nologin nginx			#创建运行用户、组

Instale o software de suporte, compile e instale

yum -y install gcc gcc-c++  make pcre-devel zlib-devel
cd nginx-1.15.9/
./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module		#开启stub_status状态统计模块
make && make install

1.3 otimização nginx

Otimização de caminho

ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
ls -l /usr/local/sbin/nginx 

Iniciar, reconfigurar, parar o nginx

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

Adicionar serviço do sistema
Método um:

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保存退出
chmod 754 /lib/systemd/system/nginx.service 
systemctl enable nginx.service 
systemctl start nginx

Método Dois

[root@localhost ~]# cd /etc/inid.d		#添加使用service工具进行管理
[root@localhost init.d]# ls
[root@localhost init.d]# vim nginx
#!/bin/bash
# chkconfig: - 99 20
# description: Nginx Service Control Script
PROG="/usr/local/nginx/sbin/nginx"
PIDF="/usr/local/nginx/logs/nginx.pid"
case "$1" in
  start)
   $PROG
   ;;
  stop)
   kill -s QUIT $(cat $PIDF)
   ;;
  restart)
   $0 stop
   $0 start
   ;;
  reload)
   kill -s HUP $(cat $PIDF)
   ;;
  *)
  		echo "Usage: $0 {start|stop|restart|reload}"
  		exit 1
esac
exit 0
[root@localhost init.d]# chmod +x nginx
[root@localhost init.d]# chkconfig --add nginx
[root@localhost init.d]# chkconfig --level 35 nginx on

Neste ponto, após o firewall ser fechado e o serviço nginx aberto, o acesso é bem-sucedido
Insira a descrição da imagem aqui

1.4 Estatísticas de status de acesso

Ativar módulo de estatísticas de status HTTP_ STUB_ STATUS Ao
configurar os parâmetros de compilação, participe de –with-http_stub_status_module
nginx -V para verificar se o Nginx instalado contém módulo HTTP_STUB_STATUS
Insira a descrição da imagem aqui

Modifique o arquivo de configuração /usr/local/nginx/conf/nginx.conf

vi /usr/local/nginx/conf/nginx.conf
编辑模式
location / {
	root    html;
	index  index.html   index.htm;
}
添加如下内容
location /status {
	stub_status on;
	access_log off;
}
:wq保存退出
systemctl restart nginx

Insira a descrição da imagem aqui
As conexões ativas indicam o número atual de conexões ativas que o
servidor aceita solicitações tratadas indica as informações de conexão que foram processadas
1 1 1 indica:
o número de conexões processadas 1, o número de handshakes TCP bem-sucedidos 1, o número de solicitações processadas 1

Dois controles de acesso Nginx

2.1 Controle de acesso baseado em autorização

yum -y install httpd-tools
创建用户test并设置密码
htpasswd -c /usr/local/nginx/passwd.db test
New password: 
Re-type new password:
查看密码(已加密)
cat /usr/local/nginx/passwd.db

修改文件权限为只读

chmod 400 /usr/local/nginx/passwd.db

将所有者修改为 nginx ,设置nginx的运行用户能够读取

chown nginx /usr/local/nginx/passwd.db
ll -d /usr/local/nginx/passwd.db

修改主配置文件nginx.conf,对相应目录添加认证配置项

vi /usr/local/nginx/conf/nginx.conf
编辑模式
location / {
	root    html;
	index  index.html   index.htm;
	#添加如下两行
	auth_basic "secret";
	auth_basic_user_file /usr/local/nginx/passwd.db;
}
[root@localhost ~]# nginx -t  #检测语法
[root@localhost ~]# systemctl restart nginx

Insira a descrição da imagem aqui
Digite o nome de usuário e a senha para fazer o login com sucesso
Insira a descrição da imagem aqui

2.2 Controle de acesso baseado no cliente

Regras de configuração

negar segmento IP / IP: negar acesso do cliente a um determinado IP ou segmento IP

permitir segmento IP / IP: permitir o acesso do cliente de um determinado IP ou segmento IP

A regra é executada de cima para baixo, se corresponder, parará e não corresponderá mais

Nota
Negar e permitir são apenas negar / permitir relacionamentos

配置步骤
修改主配置文件nginx.conf,添加相应配置项,除主机20.0.0.1之外允许其他客户端访问
vi /usr/local/nginx/conf/nginx.conf
编辑模式
location / {
	root    html;
	index  index.html   index.htm;
	auth_basic "secret";
	auth_basic_user_file /usr/local/nginx/passwd.db;

	deny 20.0.0.1;
	allow all;
}
[root@localhost ~]# systemctl restart nginx

Três hosts virtuais nginx

Com a hospedagem virtual, não há necessidade de fornecer um servidor Nginx separado ou executar um grupo de processos Nginx separadamente para cada site em execução. A hospedagem virtual oferece a função de executar vários sites no mesmo servidor e o mesmo grupo de processos Nginx.

3.1 Hospedagem virtual baseada no nome de domínio

1.修改Windows客户机的C:\Windows\System32\drivers\etc/hosts文件
20.0.0.11	www.61ser.top	www.51ser.top
2.准备各个网站的目录和测试首页
mkdir -p /var/www/html/61ser/
mkdir -p /var/www/html/51ser/
echo "www.61ser.top" >> /var/www/html/61ser/index.html
echo "www.51ser.top" >> /var/www/html/51ser/index.html
3.修改配置文件,把配置文件中的server{}代码段全部去掉,加入2个新的server{}段,对应2个域名
vi /usr/local/nginx/conf/nginx.conf
server {
listen 80;
server_name www.61ser.top;
charset utf-8;
access_log logs/www.61ser.top.access.log;
location / {
	root /var/www/html/61ser;
	index index.html index.htm;
	}
error_page 500 502 503 504 /50x.html;
location = 50x.html{
	root html;
	}
}
server {
listen 80;
server_name www.51ser.top;
charset utf-8;
access_log logs/www.51ser.top.access.log;
location / {
	root /var/www/html/51ser;
	index index.html index.htm;
	}
error_page 500 502 503 504 /50x.html;
location = 50x.html{
	root html;
	}
}
systemctl restart nginx
测试
www.61ser.top
www.51ser.top

3.2 hospedagem virtual baseada em IP

Adicionar placa de rede virtual
Modificar UUID
Modificar endereço IP: 192.168.100.11
Modificar gateway: 192.168.100.1

Para a operação específica de adicionar uma placa de rede, consulte este blog: Portal: configurações básicas da placa de rede Linux e comandos comuns para teste de rede

主机配置两个IP地址
vim /usr/local/nginx/conf/nginx.conf
server {
    listen    20.0.0.11:80;
    server_name 20.0.0.11:80;
}
server {
    listen    192.168.100.11:80;
    server_name 192.168.100.11:80;
}
[root@localhost ~]# systemctl restart nginx

3.3 Hospedagem web virtual baseada em porta

vim /usr/local/nginx/conf/nginx.conf
server {
    listen    20.0.0.11:666;
    server_name 20.0.0.11:666;
}
server {
    listen    20.0.0.11:888;
    server_name 20.0.0.11:888;
}
[root@localhost ~]# systemctl restart nginx

Acho que você gosta

Origin blog.csdn.net/cenjeal/article/details/108555969
Recomendado
Clasificación