Linux系统下安装配置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语言编写的软件时所需要的依赖项。 

  1. yum: 这是Yellowdog Updater Modified的缩写,是一个在基于RPM的Linux发行版中用于自动从指定的软件仓库安装、升级、配置甚至删除软件包的工具。

  2. install: 这是yum命令的一个子命令,用于安装软件包。

  3. -y: 这是一个选项,表示在安装过程中自动回答所有提示为“yes”。这样,安装过程就不需要用户手动确认。

  4. gcc-c++: 这是GNU编译器集合(GCC)的C++编译器。它允许你编译和运行C++程序。

  5. pcre: Perl Compatible Regular Expressions(PCRE)库,是一个用于支持正则表达式的库。

  6. pcre-devel: 这是PCRE库的开发包,通常包含头文件和库文件,用于开发依赖于PCRE的应用。

  7. zlib: zlib是一个通用的数据压缩库,支持多种压缩和解压缩算法。

  8. zlib-devel: 这是zlib的开发包,提供用于开发依赖zlib的应用的头文件和库文件。

  9. openssl: OpenSSL是一个强大的安全套接字层密码库,包含主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供了丰富的应用程序供测试或其它目的使用。

  10. openssl-devel: 这是OpenSSL的开发包,包含用于开发依赖OpenSSL的应用的头文件和库文件。

结果如图所示(最后为complete即可)

2.下载Nginx

1.访问官网, 获取nginx 

nginx: downloadicon-default.png?t=N7T8http://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具有诸多好处,以下是一些主要优势:

  1. 高性能与稳定性:Nginx以其事件驱动的方式编写,拥有非常出色的性能。在相同硬件条件下,Nginx通常可以处理比传统服务器软件(如Apache)更多的并发连接,且资源消耗更低。这使得Nginx在高流量网站或应用中表现尤为出色。同时,Nginx的稳定性也备受赞誉,能够长时间稳定运行而无需频繁重启。
  2. 丰富的功能特性:Nginx不仅是一个高性能的Web服务器,还具备反向代理、负载均衡、动静分离等多种功能。这使得Nginx能够轻松应对各种复杂的网络架构和需求。例如,通过配置Nginx作为反向代理服务器,可以隐藏后端服务器的真实IP地址,增强系统的安全性;而负载均衡功能则能够将请求分发到多个后端服务器,提高系统的吞吐量和响应速度。
  3. 安装与配置简单:Nginx的安装过程相对简单,通常只需下载源码包并按照官方文档进行编译安装即可。同时,Nginx的配置文件也非常简洁明了,易于理解和修改。这使得Nginx的部署和维护变得相对容易,降低了运维成本。
  4. 优秀的扩展性:Nginx支持模块化设计,这意味着用户可以根据自己的需求选择并加载特定的功能模块。此外,Nginx还提供了丰富的第三方模块和插件,进一步增强了其扩展性和灵活性。
  5. 开源与免费:Nginx是一个开源软件,用户可以免费获取和使用。这不仅降低了使用成本,还使得用户可以根据自己的需求对Nginx进行定制和优化。

综上所述,Linux系统下安装配置Nginx能够带来高性能、稳定性、丰富的功能特性、简单的安装配置过程、优秀的扩展性以及开源免费等诸多好处。这使得Nginx成为许多企业和个人在构建Web应用和网络架构时的首选方案。Linux系统下安装配置nginx

参考博客: Linux系统下安装配置nginx(保姆级教程)_linux安装nginx-CSDN博客

  • 22
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值