文章目录
- 前言
- 一、Nginx是什么?
- 二、安装步骤
- 1.依赖下载
- 2.下载Nginx
- 总结
前言
Nginx可以作为Web服务器使用,它支持HTTP、HTTPS、SMTP、POP3等多种协议。相比Apache等传统Web服务器,Nginx使用更少的资源,支持更多的并发连接,具有更高的效率。这使得Nginx特别适用于需要处理大量并发请求的虚拟主机提供商。
一、Nginx是什么?
Nginx是一个功能强大、性能优越、灵活可配置的Web服务器和反向代理服务器,适用于各种场景和需求。
二、安装步骤
1.依赖下载
代码如下:
yum install -y gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
这个命令是一个用于Red Hat及其衍生版(如CentOS、Fedora等)Linux发行版的YUM包管理器的命令。它的目的是安装一系列的软件包,这些软件包通常是编译和安装Nginx或其他C语言编写的软件时所需要的依赖项。
-
yum: 这是Yellowdog Updater Modified的缩写,是一个在基于RPM的Linux发行版中用于自动从指定的软件仓库安装、升级、配置甚至删除软件包的工具。
-
install: 这是
yum
命令的一个子命令,用于安装软件包。 -
-y: 这是一个选项,表示在安装过程中自动回答所有提示为“yes”。这样,安装过程就不需要用户手动确认。
-
gcc-c++: 这是GNU编译器集合(GCC)的C++编译器。它允许你编译和运行C++程序。
-
pcre: Perl Compatible Regular Expressions(PCRE)库,是一个用于支持正则表达式的库。
-
pcre-devel: 这是PCRE库的开发包,通常包含头文件和库文件,用于开发依赖于PCRE的应用。
-
zlib: zlib是一个通用的数据压缩库,支持多种压缩和解压缩算法。
-
zlib-devel: 这是zlib的开发包,提供用于开发依赖zlib的应用的头文件和库文件。
-
openssl: OpenSSL是一个强大的安全套接字层密码库,包含主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供了丰富的应用程序供测试或其它目的使用。
-
openssl-devel: 这是OpenSSL的开发包,包含用于开发依赖OpenSSL的应用的头文件和库文件。
结果如图所示(最后为complete即可)
2.下载Nginx
1.访问官网, 获取nginx
nginx: downloadhttp://nginx.org/en/download.html选择你想下载的版本(下图是已经更新过了的版本)
Stable version是稳定版本,推荐下载
2.在Linux系统上进行下载(示例:我下载的是以前的1.25.1版本)
wget http://nginx.org/download/nginx-1.25.1.tar.gz
3.便于管理,可以创建一个文件夹来保存
# 创建文件夹
mkdir /usr/java
#将包移入文件夹中
mv nginx-1.25.1.tar.gz /usr/java
#转换到该文件夹下
cd /usr/java
#查看文件夹的内容
ls
4.解压包,并转换到nginx文件夹下
#解压包
tar -zxf nginx-1.25.1.tar.gz
#转换到nginx文件夹下
cd nginx-1.25.1
5.配置nginx
./configure
./configure
是源代码安装软件包(通常是通过编译和安装)过程中的第一步。这一步的作用主要是配置即将安装的软件,检查当前的环境是否满足软件安装的依赖关系。
过程如下:
出现下述画面即成功
6.编译安装nginx
#这是编译和安装一块进行(&&),也可以分开
make&&make install
过程如下:
出现下图情况即成功
如果想查看Nginx的源代码,可以进入src目录进行查看:
在安装 Nginx 的过程中,src
目录存放了 Nginx 软件的所有源代码。这个目录包含了 Nginx 服务器的主要功能实现代码,以及与其相关的模块和组件。这些源代码是 Nginx 能够运行并提供服务的核心所在。
可以用view查看这些目录里面的内容,里面的.c文件和C语言有关
7.运行nginx
#转换到sbin文件夹下
cd /usr/local/nginx/sbin
#运行nginx
./nginx
从源代码编译并安装了Nginx,它的二进制文件放置在/usr/local/nginx/sbin
目录下。
运行nginx时,如果发现其报下列错误,是因为80端口被占用导致Nginx启动失败。
使用下面该命令对80端口进行摸排
netstat -ntlp | grep 80
结果显示80端口被占用着
使用下面这个命令,查找并终止占用指定TCP端口的进程,然后再重启Nginx即可完成成功运行。
fuser -k 80 /t cp
8.查看结果
(1)通过命令行进行
curl http://localhost:80
· curl:这是一个常用的命令行工具,用于发送HTTP请求。它可以用来获取或发送数据,并支持多种HTTP方法(如GET、POST等)。
· http://localhost:80:这是你想要访问的URL。
http://:这表示你正在使用HTTP协议。
localhost:这是一个特殊的域名,代表你自己的计算机
:80:这是端口号。HTTP协议默认的端口号是80。
(2)直接在浏览器输入ip地址(服务器ip)+端口号(默认80)
注:如用方式(2)进行访问的话,记得要开放端口号并且关闭防火墙
firewall-cmd --zone=public --add-port=80/tcp --permanent
这条命令用于在Linux系统的firewalld
服务中,为public
区域永久添加一个TCP协议的80端口。
补充:
查看防火墙的状态 systemctl status firewalld
关闭防火墙 systemctl stop firewalld (重启后再次可用)
永久关闭防火墙 systemctl disable firewalld
9.创建nginx自启动脚本
在/usr/lib/systemd/system或者/etc/systemd/system目录下创建一个nginx.service的文件
然后进入编辑它
vi /etc/systemd/system/nginx.service
Systemd服务是一种以 .service 结尾的单元(unit)配置文件,用于控制由 systemd 控制或监视的进程。
设置以下内容:
[Unit]
Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/bin/sh -c "/bin/kill -s HUP $(/bin/cat /usr/local/nginx/logs/nginx.pid)"
# ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/bin/sh -c "/bin/kill -s TERM $(/bin/cat /usr/local/nginx/logs/nginx.pid)"
# ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
重新加载配置文件
systemctl daemon-reload
启动nginx服务
systemctl start nginx
加入开机启动
systemctl enable nginx
查看服务当前状态
syatemctl status nginx
成功!
三 、总结
在Linux系统下安装配置Nginx具有诸多好处,以下是一些主要优势:
- 高性能与稳定性:Nginx以其事件驱动的方式编写,拥有非常出色的性能。在相同硬件条件下,Nginx通常可以处理比传统服务器软件(如Apache)更多的并发连接,且资源消耗更低。这使得Nginx在高流量网站或应用中表现尤为出色。同时,Nginx的稳定性也备受赞誉,能够长时间稳定运行而无需频繁重启。
- 丰富的功能特性:Nginx不仅是一个高性能的Web服务器,还具备反向代理、负载均衡、动静分离等多种功能。这使得Nginx能够轻松应对各种复杂的网络架构和需求。例如,通过配置Nginx作为反向代理服务器,可以隐藏后端服务器的真实IP地址,增强系统的安全性;而负载均衡功能则能够将请求分发到多个后端服务器,提高系统的吞吐量和响应速度。
- 安装与配置简单:Nginx的安装过程相对简单,通常只需下载源码包并按照官方文档进行编译安装即可。同时,Nginx的配置文件也非常简洁明了,易于理解和修改。这使得Nginx的部署和维护变得相对容易,降低了运维成本。
- 优秀的扩展性:Nginx支持模块化设计,这意味着用户可以根据自己的需求选择并加载特定的功能模块。此外,Nginx还提供了丰富的第三方模块和插件,进一步增强了其扩展性和灵活性。
- 开源与免费:Nginx是一个开源软件,用户可以免费获取和使用。这不仅降低了使用成本,还使得用户可以根据自己的需求对Nginx进行定制和优化。
综上所述,Linux系统下安装配置Nginx能够带来高性能、稳定性、丰富的功能特性、简单的安装配置过程、优秀的扩展性以及开源免费等诸多好处。这使得Nginx成为许多企业和个人在构建Web应用和网络架构时的首选方案。Linux系统下安装配置nginx