源码编译安装LNMP(Linux, Nginx ,Mysql ,PHP)-------------- (兄弟连载篇(一)----Nginx) 详细版!!!

一,Nginx

关于nginx

■一款高性能、轻量级Web服务软件
●稳定性高
●系统资源消耗低
●对HTTP并发连接的处理能力高
◆单台物理服务器可支持30 000 ~ 50 000个并发请求

跟apache是拜把子!!!!!!!

自己整理,如有不对地方,望指出!

步骤一:安装环境

yum -y install gcc gcc-c++ make pcre-devel expat-devel perl
yum -y install pcre-devel zlib-devel

编译器
编译器
编译器
make工具
支持正则表达式的工具
使网站能解析标签语言的工具
perl语言工具

步骤二:创建程序用户

useradd -M -s /sbin/nologin nginx

步骤三: 进入软件包所在位置解压

tar zxvf nginx-1.15.9.tar.gz 
cd nginx-1.15.9   
./configure --prefix=/usr/local/nginx  --user=nginx  --group=nginx  --with-http_stub_status_module
--指定安装目录
--指定程序账户nginx
--组账户nginx
--访问统计模块

make  && make  install

步骤四:优化路径


ln -s /usr/local/nginx/sbin/nginx    /usr/local/sbin/
ll /usr/local/sbin/
total 0
lrwxrwxrwx. 1 root root 27 Sep  3 08:12 nginx -> /usr/local/nginx/sbin/nginx

步骤五:nginx的运行控制

nginx -t   #检测配置文件语法是否正确
[netstat -anpt |grep nginx
-bash: netstat: command not found?
yum -y install net-tools     #没有netstat 
nginx
netstat -anpt |grep nginx
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      21904/nginx: master 
yum -y insatl  psmisc     #最小话安装没有killall命令
killall  -s HUP nginx  
killall  -s  QUIT nginx  
nginx支持标准的进程信号,通过kilall命令HUOP重载配置,QUIT退出进程,  通过-s指定信号种类

步骤六:验证

yum -y install lynx
lynx 127.0.0.1
在这里插入图片描述

步骤七:配置Nginx.conf

1.vi /usr/local/nginx/conf/nginx.conf
全局配置
在这里插入图片描述
参考cpu核心总数来指定工作进程数,一般为1
2.定义域名–开启字符集模块
在这里插入图片描述
3.I/O事件配置
在这里插入图片描述
4096根据你当前虚拟机线程算
比如:双核双线程,就是4*4096=16384 则允许nginx 正常提供服务的连接数
nginx支持3万-5万

说明

nginx支持标准的进程信号,通过kilall命令HUOP重载配置,QUIT退出进程,  通过-s指定信号种类
yum -y insatl  psmisc    #最小话安装没有killall命令
killall  -s HUP nginx  
killall  -s  QUIT nginx  

说明1

为了使Nginx服务的启动、停止、重载等操作更加方便,可以编写基于CentOS 7.6的
Nginx服务控制文件使用systemctl工具来进行管理,CentOS7.6系统的管理习惯
 vi /lib/systemd/system/nginx.service
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/bin/kill -s HUP $MAINPID
ExecStop=/usr/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
chmod 754 /lib/systemd/system/nginx.service 
systemctl enable nginx
systemctl is-enabled nginx
enabled
 systemctl start  nginx
netstat -anpt |grep nginx
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      24491/nginx: master

1.1访问控制统计

之前咱们编译安装的时候已经安装了统计模块了–with-http_stub_status_module
1.vi /usr/local/nginx/conf/nginx.conf
在这里插入图片描述
nginx -t # 验证一下语法是否正确

2.重启服务nginx验证:
在这里插入图片描述

Active connections: 1                    ###活动连接数
server accepts handled requests         ###已经处理的链接信息
1 1 1                                   ###上个数字从左到右依次表示:已处理的连接数、成功的TCP握手次数、已处
理的请求数
Reading: 0 Writing: 1 Waiting: 0

1.2访问控制

1.1基于用户限制

1,生成用户密码认证文件

三,访问控制
基于用户限制
1,生成用户密码认证文件
[root@localhost ~]# htpasswd -c /usr/local/nginx/conf/.passwd.db as
New password: 123123
Re-type new password: 123123
Adding password for user as
[root@localhost ~]# cat /usr/local/nginx/conf/.passwd.db 
as:$apr1$Rl6bnQnO$e0eSZ20VA7rpTwhU7z4fH.
[root@localhost ~]# chmod 400 /usr/local/nginx/conf/.passwd.db 
[root@localhost ~]# chown nginx /usr/local/nginx/conf/.passwd.db 
[root@localhost ~]# ll -a /usr/local/nginx/conf/.passwd.db 
-r--------. 1 nginx root 41 Sep  3 09:33 /usr/local/nginx/conf/.passwd.db

2.在nginx.conf里添加用户密码认证文件
在这里插入图片描述
3.重启服务验证:
nginx -t
systemctl restart nginx
在这里插入图片描述
在这里插入图片描述

1.2.2基于(客户端)ip验证

deny:拒绝某个ip或ip段
allow:允许某个ip或ip段
规则从上往下执行,如果匹配则停止,不在往下匹配
1.vi /usr/local/nginx/conf/nginx.conf
#只需要在下面添加就行
在这里插入图片描述
注释:咱们真机的ip是20.0.0.1禁止了。----测试是不是不能访问了----然后在更改主机ip后,试试能不能访问;
2.重启服务验证:
systemctl restart nginx
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.构建虚拟主机

注意了!!!搭建LNMP平台,不要做构建虚拟主机!!!!!!会有影响!!!!!!!!!!!!
做好搭建好平台之后,针对nginx在做构建虚拟主机!!!

2.1基于域名


1.准备网站目录和测试文件
[root@localhost ~]# mkdir -p /var/www/html/ashgg
[root@localhost ~]# mkdir -p /var/www/html/ashgg1
###测试网页文档
echo "csdn">>/var/www/html/ashgg/index.html
echo "csdn1">>/var/www/html/ashgg1/index.html

2.修改nginx.conf 配置文件
注释:因为原配置文件内一个一个注释太繁琐了,我的做法:
--cp /usr/local/nginx/conf/nginx.conf  /usr/local/nginx/conf/nginx.bak           #复制下源配置,改个名字,改错了的话还有备用
--vi  /usr/local/nginx/conf/nginx.conf                                                             #进配置看下到deny all下面 } 位置是35,87行    
-- sed -i '35,87 s/^/#/' /usr/local/nginx/conf/nginx.conf                                  #用正则表达式添加#号

在这里插入图片描述
在这里插入图片描述

3.在87行下插入:
        server {
                listen 80;
                server_name www.ashgg.top;
                charset koi8-r;
                access_log logs/www.ashgg.com.access.log;
        location / {
                root /var/www/html/ashgg;
                index index.html index.htm;
        }
        error_page 500 502 503 504 /50x.html;
        location = 50x.html{
                root html;
        }
}
        server {
                listen 80;
                server_name www.ashgg1.top;
                charset koi8-r;
                access_log logs/www.ashgg1.com.access.log;
        location / {
                root /var/www/html/ashgg1;
                index index.html index.htm;
        }
        error_page 500 502 503 504 /50x.html;
        location = 50x.html{
                root html;
        }
}

在这里插入图片描述
4.保存重启服务验证;
systemctl restart nginx
5.真机做hosts映射
在这里插入图片描述
在这里插入图片描述
hosts文件添加映射—保存到桌面–修改名字跟原文件一致—拖到目录替换源文件

6.验证:
在这里插入图片描述
在这里插入图片描述

2.2基于ip

准备环境:
虚拟机添加两个网卡
A:20.0.0.25
B: 192.168.100.25
在这里插入图片描述
进行配置
1.nginx.conf配置文件内,只需要更改两项;
vi /usr/local/nginx/conf/nginx.conf
在这里插入图片描述
2.重启服务nginx验证;
在这里插入图片描述

2.3基于端口号;

直接看配置,看了一眼就能看懂!!!!

1.nginx.conf配置内
在这里插入图片描述
2.重启服务nginx验证;
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_47320286/article/details/108395756