又是连载篇哦
一,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/ //将nginx系统命令文件,做软连接在系统命令里可以识别,方便操作
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命令时,nginx需处于关闭状态!!
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
- 以上咱们的nginx就搭建完成了!!!!
nginx优化
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,生成用户密码认证文件
htpasswd 没有的话 yum -y install httpd-tools
[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验证;