入门学习(下载&安装&启动)
防爬虫:本文原作者:迷恋
阅读提示:【学习】标签为本人在学习期间记录的笔记类文章,其中可能参考了大量其他的作者的内容,其内容也可能出现各类错误的地方,仅作为学习使用,如有不妥之处,敬请指正!
本文部分参考来源:
Nginx快速入门-狂神
B站视频教程
…
一、Nginx介绍
1、Nginx应用场景
- HTTP服务器
Nginx本身也是一个静态资源的服务器,当只有静态资源的时候,就可以使用Nginx来做服务器,如果一个网站只是静态页面的话,那么就可以通过这种方式来实现部署。
- FTP服务器FTP服务器
通常会提供一个上传的功能,其他应用如果需要静态资源就从该静态服务器中获取。
- 反向代理
反向代理反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。
- 负载均衡
负载均衡也是Nginx常用的一个功能,负载均衡其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。
2、Nginx优点
- 高并发支持
单机能够支持10W+的并发连接(取决于内存大小,极限能够到百万),那么在实际生产中也是非常能接近这个数字的,这主要得益于nginx在linux环境下使用了epollIO多路复用模型。
- 内存消耗低
在同类型web服务中,nginx比apache占用的内存资源更少,在一般情况下10K非活跃的HTTP Keep-Alive连接在nginx中仅消耗2.5M内存。
- 高扩展性
低耦合的模块设计,并且有丰富的第三方模块支持。
- 高可靠性
经过十几年各种复杂场景和各大公司的生产环境验证,并且nginx的架构是由master进程和worker进程组成的,如果worker进程出现问题,那么master进程可以快速开启一个新的worker进程提供服务。
二、环境准备&安装搭建
2.1、Windows
2.1.1 下载
直接去官网下载:https://nginx.org/en/download.html
选择下载此时的稳定版即可:
下载,解压(注意得解压到英文目录下,否则可能启动报错
)
解压后的目录:
2.1.2 启动
- 直接双击启动
nginx.exe
,控制台一闪而过即启动成功。 - 使用CMD命令行窗口(直接直接在解压目录下同时按
SHIFT+CTRL
然后右键,选择打开Powershell窗口),然后命令执行./nginx.exe
。
此时就已经启动成功了。
2.1.3 检查
可以打开浏览器,输入localhost:80
回车访问,如出现下面的界面,即表示没问题:
2.1.4 配置监听
nginx
的配置文件是解压目录下的/conf/nginx.conf
,nginx默认的监听端口为80,按照实际需求可进行更改。
当更改过后配置文件需要重新启动nginx服务,可使用命令行./nginx -s reload
重新启动。
2.1.5 关闭nginx
- 使用nginx的关闭命令
./nginx -s stop
进行关闭。 - 使用系统任务管理来关闭,
taskkill /f /t /im /nginx.exe
(taskkill
终结进程,/f
强制终止,/t
终止指定的进程和任何由此启动的子进程,/im
指定的进程名称)
2.2、Linux
2.2.1 下载
- 安装gcc
安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装:
yum install gcc-c++
- PCRE pcre-devel安装
PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库。命令:
yum install -y pcre pcre-devel
- zlib安装
zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要安装 zlib 库。
yum install -y zlib zlib-devel
- OpenSSL安装
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。
nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。
yum install -y openssl openssl-devel
- 下载安装包
手动下载.tar.gz安装包,地址:https://nginx.org/en/download.html
下载完毕需上传到服务器上
- 解压
tar -zxvf nginx-1.18.0.tar.gz
cd nginx-1.18.0
- 配置
使用默认配置,在nginx根目录下执行
./configure
make
make install
查找安装路径 whereis nginx
Nginx常用命令
cd /usr/local/nginx/sbin/
./nginx 启动
./nginx -s stop 停止
./nginx -s quit 安全退出
./nginx -s reload 重新加载配置文件
ps aux|grep nginx 查看nginx进程
启动成功访问 服务器ip:80
如何连接不上,检查阿里云安全组是否开放端口,或者服务器防火墙是否开放端口!
相关命令:
# 开启
service firewalld start
# 重启
service firewalld restart
# 关闭
service firewalld stop
# 查看防火墙规则
firewall-cmd --list-all
# 查询端口是否开放
firewall-cmd --query-port=8080/tcp
# 开放80端口
firewall-cmd --permanent --add-port=80/tcp
# 移除端口
firewall-cmd --permanent --remove-port=8080/tcp
#重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload
# 参数解释
1、firwall-cmd:是Linux提供的操作firewall的一个工具;
2、--permanent:表示设置为持久;
3、--add-port:标识添加的端口;