Linux部署Nginx
简介
NGINX是一款高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。它的特点包括占用内存少、并发能力强,因此在处理高负载和高并发的场景时表现优秀。NGINX由俄罗斯的程序设计师Igor Sysoev开发,最初是为俄国的大型入口网站及搜寻引擎Rambler提供服务的。
NGINX的源代码以类BSD许可证的形式发布,其稳定性和丰富的功能集得到了广泛的认可。它支持热部署,可以在不停止服务的情况下重新加载配置文件和动态模块。此外,NGINX的配置文件非常灵活,允许用户根据需求进行定制。
NGINX的主要组成部分包括:
- NGINX二进制文件:用于启动NGINX服务。
- NGINX配置文件:包括全局配置和服务器配置。默认的配置文件位于
/etc/nginx/nginx.conf
,包含全局块、events块和http块。 - NGINX模块:包括核心模块和第三方模块,用于扩展NGINX的功能。
- NGINX日志文件:记录NGINX的访问日志和错误日志。
此外,NGINX还具有良好的扩展性,可以通过添加第三方模块或编写自定义模块来扩展其功能。这些特点使得NGINX在Web服务器、反向代理服务器、电子邮件代理服务器以及负载均衡等场景中都有广泛的应用。中国大陆使用NGINX的网站用户包括百度、京东、新浪、网易、腾讯、淘宝等。
总结:
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。
同Tomcat一样,Nginx可以托管用户编写的WEB应用程序成为可访问的网页服务,同时也可以作为流量代理服务器,控制流量的中转。
Nginx在WEB开发领域,基本上也是必备组件之一了。
Nginx官网:https://nginx.org/en/download.html
安装
Nginx同样需要配置额外的yum仓库,才可以使用yum安装
安装Nginx的操作需要root权限
-
安装yum依赖程序
# root执行 yum install -y yum-utils
-
手动添加,nginx的yum仓库
yum程序使用的仓库配置文件,存放在:
/etc/yum.repo.d
内。登录root用户执行以下操作
创建文件使用vim编辑
vim /etc/yum.repos.d/nginx.repo
填入如下内容并保存退出
[nginx-stable] name=nginx stable repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=1 enabled=1 gpgkey=https://nginx.org/keys/nginx_signing.key module_hotfixes=true [nginx-mainline] name=nginx mainline repo baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/ gpgcheck=1 enabled=0 gpgkey=https://nginx.org/keys/nginx_signing.key module_hotfixes=true
通过如上操作,我们手动添加了nginx的yum仓库
-
通过yum安装最新稳定版的nginx
yum install -y nginx
-
启动
# nginx自动注册了systemctl系统服务 systemctl start nginx # 启动 systemctl stop nginx # 停止 systemctl status nginx # 运行状态 systemctl enable nginx # 开机自启 systemctl disable nginx # 关闭开机自启
-
配置防火墙放行
nginx默认绑定80端口,需要关闭防火墙或放行80端口
# 方式1(推荐),关闭防火墙 systemctl stop firewalld # 关闭 systemctl disable firewalld # 关闭开机自启 # 方式2,放行80端口 firewall-cmd --add-port=80/tcp --permanent # 放行tcp规则下的80端口,永久生效 firewall-cmd --reload # 重新加载防火墙规则
-
启动后浏览器输入Linux服务器的IP地址或主机名即可访问
http://192.168.149.130
ps:80端口是访问网站的默认端口,所以后面无需跟随端口号
显示的指定端口也是可以的比如:
- http://192.168.149.130:80
注意:每台电脑创建的虚拟机Linux系统的IP都不一样
至此,Nginx安装配置完成。