LNMP部署源码 (Linux, Nginx ,Mysql ,PHP)-------------- (连载篇(一)----Nginx)详细版个人整理!!!

tech2025-01-21  0

又是连载篇哦

一,Nginx步骤一:安装环境步骤二:创建程序用户步骤三: 进入软件包所在位置解压步骤四:优化路径步骤五:nginx的运行控制步骤六:验证步骤七:配置Nginx.conf说明说明1 nginx优化1.1访问控制统计1.2访问控制1.1基于用户限制1.2.2基于(客户端)ip验证 2.构建虚拟主机2.1基于域名2.2基于ip2.3基于端口号;

一,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验证;

最新回复(0)