Nginx

一、nginx是什么

Nginx 是一款开源的、高性能的 HTTP 和反向代理服务器(中间件),可用于负载均衡,由 Igor Sysoev 所开发。
以下是 Nginx 的一些主要特点和优势:
1、高性能:能够处理大量并发连接,在高并发场景下表现卓越。
2、轻量级:资源消耗低,运行效率高。
3、反向代理:可以将客户端请求转发到后端的多个服务器上,实现负载均衡,提高系统的可用性和扩展性。
4、动静分离:有效地将静态资源(如图片、CSS、JavaScript 文件等)和动态内容(如 PHP、Python 脚本等)分开处理,提高服务器的性能。
5、灵活的配置:支持丰富的配置选项,能够满足各种复杂的业务需求。
6、缓存功能:可以对经常访问的内容进行缓存,减少服务器的负载,提高响应速度。
7、稳定性高:经过了广泛的实践和验证,具有出色的稳定性和可靠性。
由于其卓越的性能和丰富的功能,Nginx 在互联网行业中得到了广泛的应用,成为构建高效、可靠网络服务的重要工具之一。

二、安装nginx

2.1 yum安装

通过nginx官网了解,我们可以先在/etc/yum.repos.d文件夹下新建一个nginx.repo文件用于编写nginx源(如果你的服务器安装了epel源,就可以直接使用yum安装)

vim 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 install nginx

启动nginx

systemctl start nginx

设置开机自启

systemctl enable nginx

2.2 编译安装

进入一台新的web服务器(本次编译安装在web2服务器上进行)
新建/nginx文件夹,将源码包下载到文件夹中

mkdir /nginx
cd /nginx
curl -O https://nginx.org/download/nginx-1.26.1.tar.gz

解压源码包

tar  xf  nginx-1.26.1.tar.gz 

在这里插入图片描述
configure 是一个nginx官方提供的一个进行编译配置的脚本,主要目的是收集用户的指定配置,收集参数。
例如: 用户可以指定安装位置,启用哪些模块(功能),不启用哪些模块(功能)
可以定制nginx这个软件

模块功能
–prefix=PATH指定安装路径
–user=USER指定启动woker进程的用户名
–group=GROUP指定启动woker进程的用户组
–with-http_ssl_module开启ssl功能,默认没有开启
–with-http_v2_module启用HTTP/2模块支持
–with-http_v3_module启用HTTP/3模块支持
–with-threads支持多线程功能
–with-stream支持反向代理功能
–with-http_stub_status_module状态统计功能

解决依赖的软件包

yum install  gcc   pcre-devel  openssl-devel -y

配置工作

./configure  --prefix=/usr/local/nginx-1  --user=duanfeiyu  --group=duanfeiyu   --with-http_ssl_module  --with-http_v2_module  --with-threads   --with-stream   --with-http_stub_status_module

启动2个进程去编译(根据自己cpu核数去选择,几核就选几个进程)

make -j 2

安装编译,将前面编译好的二进制文件和配置文件复制到/usr/local/nginx-1目录下

make install

新建用户duanfeiyu

useradd  duanfeiyu  -s  /sbin/nologin

修改PATH环境变量,增加nginx的安装目录,方便找到安装的nginx

echo 'PATH=/usr/local/nginx-1/sbin/:$PATH'  >>/etc/profile
source  /etc/profile

启动nginx(注意关闭防护墙和停止selinux)

/usr/local/nginx-1/sbin/nginx

通过编译安装的nginx可以使用以下命令

命令作用
nginx -s stop停止nginx
nginx -s reload重启nginx

对于以上操作来进行nginx编译安装,我们可以将其写成shell脚本,方便以后的使用

vim install_nginx.sh

#!/bin/bash


#创建存放nginx源码的目录
mkdir  -p  /nginx

#进入目录,开始下载nginx源码包
cd  /nginx
curl -O https://nginx.org/download/nginx-1.26.1.tar.gz

#解压源码包
tar  xf  nginx-1.26.1.tar.gz 
cd  nginx-1.26.1

#解决依赖的软件包
yum install  gcc   pcre-devel  openssl-devel -y

#配置工作
./configure  --prefix=/usr/local/nginx-1  --user=duanfeiyu  --group=duanfeiyu  --with-http_ssl_module  --with-http_v2_module  --with-threads   --with-stream   --with-http_stub_status_module

#启动2个进程去编译
make  -j  2

#安装编译,将前面编译好的二进制文件和配置文件复制到/usr/local/nginx-1目录下
make  install

#新建用户limingzhe
useradd  duanfeiyu  -s  /sbin/nologin

#修改PATH环境变量,增加nginx的安装目录,方便找到安装的nginx
echo 'PATH=/usr/local/nginx-1/sbin/:$PATH'  >>/etc/profile
source  /etc/profile

#启动nginx
/usr/local/nginx-1/sbin/nginx

#firewalld and selinux

#stop firewall和设置下次开机不启动firewalld
service firewalld stop
systemctl disable firewalld

#临时停止selinux和永久停止selinux
setenforce 0
sed  -i '/^SELINUX=/ s/enforcing/disabled/' /etc/sysconfig/selinux 

2.3 设置编译安装的nginx开机自启

1、修改/etc/rc.local文件,在末尾加上/usr/local/nginx-1/sbin/nginx
在这里插入图片描述
给此文件一个可执行权限

chmod  +x /etc/rc.d/rc.local 

2、创建一个 nginx.service文件,让systemctl进行管理

cd /usr/lib/systemd/system
vim nginx.service

[Unit]
Description=nginx - high performance web server

[Service]
Type=forking
PIDFile=/usr/local/nginx-1/logs/nginx.pid
ExecStart=/usr/local/nginx-1/sbin/nginx -c /usr/local/nginx-1/conf/nginx.conf
ExecReload=/bin/sh -c "/bin/kill -s HUP $(/bin/cat $PIDFile)"
ExecStop=/bin/sh -c "/bin/kill -s TERM $(/bin/cat $PIDFile)"

[Install]
WantedBy=multi-user.target

重载配置文件

 systemctl daemon-reload

使用killall nginx杀死前面使用nginx命令启动的nginx进程

killall nginx

启动nginx

 systemctl start nginx

设置nginx开机自启

systemctl enable nginx
  • yum安装和编译安装的区别:
    yum install nginx
    配置文件: /etc/nginx
    可执行的nginx二进制程序: /usr/sbin/nginx
    网站目录: /usr/share/nginx/html

    编译安装的nginx
    配置文件: /usr/local/nginx-1/conf
    可执行的nginx二进制程序: /usr/local/nginx-1/sbin
    网站目录: /usr/local/nginx-1/html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值