nginx--安装

server/2024/9/25 7:27:33/

yum安装

官方包链接:nginx: Linux packages

官方yum源链接:nginx: Linux packages

配置yum源

[root@localhost ~]# yum install -y nginx 
[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

列出所有版本

yum list nginx --showduplicates

 查看版本信息

yum info nginx

安装

yum install -y nginx 

查看nginx安装包信息

 rpm -q nginxrpm -qi nginx

 nginx配置文件

rpm -ql nginx
rpm -qc nginx

 

启动nginx

systemctl enable --now nginx

注意:若是出现Failed to start nginx - high performance web server

可能是80端口被占用

lsof -i:80

 杀死进程

kill -9 pid

 查看其他进程

 systemctl status nginx

pstree -p

查看版本

 访问网站

 查看nginx权限用户

ps aux | grep nginx

 修改权限用户

systemctl stop nginx
systenctl status nginx
vim +5 /etc/nginx/nginx.conf
#user nginx;

nginx -g "user stu;"
!ps

 nginx的参数

帮助: -? -h
使用指定的配置文件: -c
指定配置指令:-g
指定运行目录:-p
测试配置文件是否有语法错误:-t -T
打印nginx的版本信息、编译信息等:-v -V
发送信号: -s 示例: nginx -s reload

立刻停止服务:stop,相当于信号SIGTERM,SIGINT
优雅的停止服务:quit,相当于信号SIGQUIT
平滑重启,重新加载配置文件: reload,相当于信号SIGHUP
重新开始记录日志文件:reopen,相当于信号SIGUSR1,在切割日志时用途较大
平滑升级可执行程序:发送信号SIGUSR2,在升级版本时使用
优雅的停止工作进程:发送信号SIGWINCH,在升级版本时使用

nginx运行方式

运行:nginx
关闭:nginx -s stop
运行: systemctl start nginx
关闭:systemctl stop nginx
前台运行:nginx  -g "daemon off;"
关闭:Ctrl + z

服务文件

cat /usr/lib/systemd/system/nginx.service

 pid文件

cat /run/nginx.pid

编译安装

yum -y install gcc pcre-devel openssl-devel zlib-devel

创建nginx的权限用户

useradd -s /sbin/nologin nginx

安装包

cd /usr/local/src/
wget https://nginx.org/download/nginx-1.20.2.tar.gz
tar -zxvf nginx-1.20.2.tar.gz 

 

auto:用于编译时的文件,以及相关lib库,编译时对对操作系统的判断等,都是为了辅助./configure命令执行的辅助文件。
conf:存放 Nginx 服务器配置文件
configure:命令,用于对即将安装的软件的配置,完成 makefile 编译文件的生成
contrib:存放由其他机构贡献的文档材料
html:存放 Nginx 欢迎页面
man:nginx命令的帮助文档,linux上可以使用man命令查看帮助
src:存放 Nginx 源码

编译安装

生成makefile

./configure --prefix=/apps/nginx \
--user=nginx \
--group=nginx \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_realip_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-pcre \
--with-stream \
--with-stream_ssl_module \
--with-stream_realip_module

编译

make

make install 
ls /apps/nginx 

conf:保存nginx所有的配置文件,其中nginx.conf是nginx服务器的最核心最主要的配置文件,其他的.conf则是用来配置nginx相关的功能的,例如fastcgi功能使用的是fastcgi.conf和
fastcgi_params两个文件,配置文件一般都有个样板配置文件,是文件名.default结尾,使用的使用将其复制为并将default去掉即可。
html:目录中保存了nginx服务器的web文件,但是可以更改为其他目录保存web文件,另外还有一个50x的web文件是默认的错误页面提示页面。
logs:用来保存nginx服务器的访问日志错误日志等日志,logs目录可以放在其他路径,比
如/var/logs/nginx里面。
sbin:保存nginx二进制启动脚本,可以接受不同的参数以实现不同的功能。 

 创建软连接

ln -s /apps/nginx/sbin/nginx /usr/sbin/

修改所用者

chown -R nginx.nginx /apps/nginx

 访问

 配置service文件

cat /usr /lib/systemd/system/nginx.service

[unit]
Description=The nginx HTTP and reverse proxy server
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target

[Service]
Type=forking
PIDFile=/run/nginx.pid
# Nginx will fail to start if /run/nginx.pid already exists but has the wrong
# SELinux context. This might happen when running `nginx -t` from the cmdline.
# https://bugzilla.redhat.com/show_bug.cgi?id=1268621
ExecStartPre=/usr/bin/rm -f /run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t
ExecStart=/usr/sbin/nginx
ExecReload=/usr/sbin/nginx -s reload
KillSignal=SIGQUIT
TimeoutStopSec=5
KillMode=mixed
PrivateTmp=true

[Install]
WantedBy=multi-user.target

 修改run/nginx.pid

find / -name nginx.pid
cd /apps/nginx
mkdir run
cp logs/nginx.pid  run/
chown -R nginx.nginx /apps/nginx/run/nginx.pid 

 

 vim /apps/nginx/conf/nginx.conf

 

加载启动

加载:systemctl daemon-reload
启动: systemctl start nginx


http://www.ppmy.cn/server/23325.html

相关文章

fofa 是一个什么样的工具

FOFA (Fingerprint of Full Asset) 是一个基于网络的搜索引擎,主要用于信息安全领域,特别是在网络空间资产发现和安全漏洞研究方面。这个工具可以帮助安全研究人员和企业安全团队发现并分析互联网上的设备、服务器、网站和其他相关资产的公开信息。 FOF…

STM32-TIM的输入捕获功能

1.熟练掌握TIM的参数配置, 2.熟练掌握输入通道的参数配置。 3.深刻理解输入捕获的原理和应用范畴。 4.理解输入捕获的原理。 一 什么是输入捕获功能 定时器输入捕获功能( input capture )是利用定时器的精准计数特性,实现对于…

什么是面向对象?

谈到面向对象,我们不得不说到面向过程。因为面向对象就是从面向过程过渡而来的。 面向过程:就是将一个大的任务分成一条条小的步骤,这些步骤由一个个函数来完成。 而面向对象呢,更加注重这个任务中的参与者,需求里有…

区块链钱包开发——专业区块链开发

随着区块链技术的发展,钱包开发成为了一项至关重要的任务。本文将探讨区块链钱包开发的重要性,分析当前面临的挑战,并展望未来的发展趋势。 一、区块链钱包概述 区块链钱包是一种用于存储和管理数字货币的软件工具。它为用户提供了一个安全的…

【EMQX】使用websocket订阅EMQX数据

需求:某平台希望通过 websocket 来订阅 EMQX平台上的某些 Topic数据进行处理 1、EMQX 服务配置 前提是EMQX服务正常安装运行了,如果EMQX服务未安装的话,详见以下文章关于如何安装部署服务: 搭建自己的MQTT服务器、实现设备上云(W…

在Linux中eth0旁边的lo是什么

2024年4月24日,周三晚上 在Linux中,eth0 和 lo 分别代表不同的网络接口。 eth0 通常是指计算机上的以太网接口,用于连接到局域网或互联网。eth0 可能是通过以太网线连接到路由器或交换机的网络接口,用于进行网络通信。lo 是指本地…

clickhouse与oracle传输数据

参考 https://github.com/ClickHouse/clickhouse-jdbc-bridge https://github.com/ClickHouse/clickhouse-jdbc-bridge/blob/master/docker/README.md clickhouse官方提供了一种方式,可以实现clickhouse与oracle之间传输数据,不仅仅是oracle&#xff0…

SAP-ERP TM运输管理模块详解-3

9、定义采购数据结算 事务代码及配置路径: TCODE: SPRO 路径:IMG > 后勤执行 > 运输 > 装运成本 > 结算 > 分配采购数据。详见图9-1。 配置路径截图: 、 如图9-2所示,配置根据计划运输点Z001装运成本类型Z001…