Linux系统安装和卸载nginx

📖Linux系统安装和卸载nginx

      • ✅下载
      • ✅安装
      • ✅启动nginx
      • ✅安装成系统服务
      • ✅常见问题:80端口被占用了
      • ✅卸载
      • ✅目录结构

以下介绍的是以源码编译安装方式:

✅下载

官方地址:https://nginx.org/en/download.html

123云盘地址:https://www.123pan.com/s/4brbVv-odmWA.html

image-20240626220132182

✅安装

1.上传安装包nginx-1.20.2.tar.gz,并解压

tar -zxvf nginx-1.20.2.tar.gz

2.使用configure进行安装,进入解压后目录cd nginx-1.20.2/,找到configure文件

./configure --prefix=/usr/local/nginx  # --prefix=/usr/local/nginx 指安装路径是/usr/local/nginx

image-20240205221004778

如果出现下面警告或报错,说明缺少C环境,则安装gcc

checking for OS

  • Linux 3.10.0-693.el7.x86_64 x86_64
    checking for C compiler … not found
    ./configure: error: C compiler cc is not found
#安装gcc
yum install -y gcc

如果出现下面报错,则安装对应的perl库

/configure: error: the HTTP rewrite module requires the PCRE library.
You can either disable the module by using --without-http_rewrite_module
option, or install the PCRE library into the system, or build the PCRE library
statically from the source with nginx by using --with-pcre= option.

#安装perl库
yum install -y pcre pcre-devel

如果出现下面报错,则安装对应的zlib库

./configure: error: the HTTP gzip module requires the zlib library.
You can either disable the module by using --without-http_gzip_module
option, or install the zlib library into the system, or build the zlib library
statically from the source with nginx by using --with-zlib= option.

#安装alib库
yum install -y zlib zlib-devel

3.编译安装,如果过程没有报错则执行下面命令,进行编译安装

make
make install

执行完后会发现指定安装位置出现nginx目录。

image-20240205222419702

✅启动nginx

进入安装好的目录 /usr/local/nginx/sbin

./nginx					    # 启动
./nginx -s stop			 	#快速停止
./nginx -s quit 			#优雅关闭,在退出前完成已经接受的连接请求
./nginx -s reload 			#重新加载配置

此时nginx启动等命令只能在sbin目录下使用,非常不便,可以将命令安装成系统服务,会非常方便。

✅安装成系统服务

1.创建服务脚本nginx.service,脚本内容如下,按ESC:wq保存文件。

vi /usr/lib/systemd/system/nginx.service
[Unit]
Description=nginx - web server
After=network.target remote-fs.target nss-lookup.target[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
ExecQuit=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true[Install]
WantedBy=multi-user.target

2.重新加载系统服务即可完成

systemctl daemon-reload

3.管理nginx.service服务的命令

systemctl start nginx.service	    #启动nginx服务
systemctl stop nginx.service	 #关闭nginx服务
systemctl status nginx.service	   #查看nginx状态
systemctl enable nginx.service       #开机自启动
systemctl reload nginx.service        #重载配置文件

✅常见问题:80端口被占用了

netstat -ntlp|grep 80

kill -9 端口号即可,如果杀不死,可以试试下面命令

fuser -k 80/tcp

✅卸载

1.首先查看nginx的服务并且停止

systemctl status nginx   #查看nginx服务状态
systemctl stop nginx      #停止nginx服务

2.查找、删除nginx相关文件

  • 查看nginx相关文件:whereis nginx
  • find查找相关文件 find / -name nginx

3.依次删除find查找到的所有目录。

rm -rf /usr/sbin/nginx/***

4.最后使用yum清理依赖包

yum remove nginx

✅目录结构

├── client_body_temp                 # POST 大文件暂存目录
├── conf                             # Nginx所有配置文件的目录
│   ├── fastcgi.conf                 # fastcgi相关参数的配置文件
│   ├── fastcgi.conf.default         # fastcgi.conf的原始备份文件
│   ├── fastcgi_params               # fastcgi的参数文件
│   ├── fastcgi_params.default       
│   ├── koi-utf
│   ├── koi-win
│   ├── mime.types                   # 媒体类型
│   ├── mime.types.default
│   ├── nginx.conf                   #这是Nginx默认的主配置文件,日常使用和修改的文件
│   ├── nginx.conf.default
│   ├── scgi_params                  # scgi相关参数文件
│   ├── scgi_params.default  
│   ├── uwsgi_params                 # uwsgi相关参数文件
│   ├── uwsgi_params.default
│   └── win-utf
├── fastcgi_temp                     # fastcgi临时数据目录
├── html                             # Nginx默认站点目录
│   ├── 50x.html                     # 错误页面优雅替代显示文件,例如出现502错误时会调用此页面
│   └── index.html                   # 默认的首页文件
├── logs                             # Nginx日志目录
│   ├── access.log                   # 访问日志文件
│   ├── error.log                    # 错误日志文件
│   └── nginx.pid                    # pid文件,Nginx进程启动后,会把所有进程的ID号写到此文件
├── proxy_temp                       # 临时目录
├── sbin                             # Nginx 可执行文件目录
│   └── nginx                        # Nginx 二进制可执行程序
├── scgi_temp                        # 临时目录
└── uwsgi_temp                       # 临时目录

主要的目录是conf,html,及sbin。

  • conf目录放的是核心配置文件
  • html目录放的是静态页面
  • logs文件夹用于存放日志信息
  • sbin存放的是可执行文件,可以用 ./nginx启动nginx:

刚安装好的nginx.conf(去掉注释)如下:

worker_processes  1; #允许进程数量,建议设置为cpu核心数或者auto自动检测,注意Windows服务器上虽然可以启动多个processes,但是实际只会用其中一个events {#单个进程最大连接数(最大连接数=连接数*进程数)#根据硬件调整,和前面工作进程配合起来用,尽量大,但是别把cpu跑到100%就行。worker_connections  1024;
}http {#文件扩展名与文件类型映射表(是conf目录下的一个文件)include       mime.types;#默认文件类型,如果mime.types预先定义的类型没匹配上,默认使用二进制流的方式传输default_type  application/octet-stream;#sendfile指令指定nginx是否调用sendfile 函数(zero copy 方式)来输出文件,对于普通应用,必须设为on。如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络IO处理速度。sendfile        on;#长连接超时时间,单位是秒keepalive_timeout  65;#虚拟主机的配置server {#监听端口listen       80;#域名,可以有多个,用空格隔开server_name  localhost;#配置根目录以及默认页面location / {root   html;index  index.html index.htm;}#出错页面配置error_page   500 502 503 504  /50x.html;#/50x.html文件所在位置location = /50x.html {root   html;}}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/35872.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于springboot、vue影院管理系统

设计技术: 开发语言:Java数据库:MySQL技术:SpringbootMybatisvue 工具:IDEA、Maven、Navicat 主要功能: 影城管理系统的主要使用者分为管理员和用户, 实现功能包括管理员: 首页…

ELK集群设置密码

一、软件安装清单 elasticsearch7.17.22logstash7.17.22kibana:7.17.22filebeat7.17.22elasticsearch-head:5 二、配置 生成证书 进入elasticsearch容器 bin/elasticsearch-certutil cert -out /usr/share/elasticsearch/config/elastic-certificates.p12 -pass将证书拷贝…

qt for android 工程添加AndroidManifest.xml 文件

1.选择左边图形栏目中的Projects,在Build steps下的Build Android APK中Details 2.点击Create Templates,并勾选 此时在工程下面会多出一个文件夹android 3.将这个android的中所有文件加入工程中,编辑.pro 4.通过QT 图形化编辑设置属性&#…

JAVA【案例5-5】二月天

【二月天】 1、案例描述 二月是一个有趣的月份,平年的二月有28天,闰年的二月由29天。闰年每四年一次,在判断闰年时,可以使用年份除于4,如果能够整除,则该年是闰年。 本案例要求编写一个程序,…

python e怎么表示

exp()方法返回x的指数,ex。 语法 以下是 exp() 方法的语法: import math math.exp( x ) 注意:exp()是不能直接访问的,需要导入 math 模块,通过静态对象调用该方法。 参数 x -- 数值表达式。 返回值 返回x的指数,…

01背包问题求解

来源于 https://kamacoder.com/problempage.php?pid1046 使用动态规划,五步走 1.定义状态数组和具体状态含义: dp是个二维数组,第一维代表物品索引,第二维代表背包空间状态。 dp[i][j]是指物品i 在背包空间j 的情况下所能放的…

【redis】redis安装

1、安装前准备 1.1环境准备 VMware安装 参考博文:【VMware】VMware虚拟机安装_配置_使用教程_选择虚拟机配置选项,设置dvd镜像为 点击启动虚拟机-CSDN博客 安装centOS的linux操作系统 xshell xftp 参考博文:【Linux】Xshell和Xftp简介_安装_VMwar…

最新版Git安装指南使用指南

首先,访问Git的官方网站https://git-scm.com下载适用于您操作系统的安装包。您也可以选择使用阿里云镜像来加速下载过程。 也可以用国内地址下载https://pan.quark.cn/s/0293d76e58bchttps://pan.quark.cn/s/0293d76e58bc安装过程 在这里插入图片描述 2、点击“…

vue3 Cesium 离线地图

源码:cesium-demo: Cesium示例工程,基于vue3 1、vite-plugin-cesium 是一个专门为 Vite 构建工具定制的插件,用于在 Vite 项目中轻松使用 Cesium 库。它简化了在 Vite 项目中集成 Cesium 的过程。 npm i cesium vite-plugin-cesium vite -D…

[leetcode]k-th-smallest-in-lexicographical-order 字典序的第K小数字

. - 力扣&#xff08;LeetCode&#xff09; class Solution { public:int getSteps(int curr, long n) {int steps 0;long first curr;long last curr;while (first < n) {steps min(last, n) - first 1;first first * 10;last last * 10 9;}return steps;}int find…

WEB界面上使用ChatGPT

&#xff08;作者&#xff1a;陈玓玏&#xff09; 开源项目&#xff0c;欢迎star哦&#xff0c;https://github.com/tencentmusic/cube-studio 随着大模型不断发展&#xff0c;现在无论写代码&#xff0c;做设计&#xff0c;甚至老师备课、评卷都可以通过AI大模型来实现了&…

开发小技巧Tips-----在Idea中配置nacos/redis等

背景&#xff1a; 进入了一个新的项目开发&#xff0c;领导为了加快开发速度&#xff08;加快调试的速度&#xff09;&#xff0c;让我们在本地启动服务&#xff0c;然后给了我一堆数据就走了。坏了坏了&#xff0c;啥意思啊&#xff0c;自己开发的时候本地就是直接点击一下run…

在vscode 中ssh连接虚拟ubuntu,不能使用code打开文件

这是参考别人的文章&#xff1a;https://blog.csdn.net/weixin_44465434/article/details/130035032找到vscode的版本信息&#xff0c;提交后面是需要的打开home/(用户)/.bashrc&#xff0c;添加环境变量 export PATH"~/.vscode-server/bin/5437499feb04f7a586f677b155b03…

江协科技51单片机学习- p16 矩阵键盘

&#x1f680;write in front&#x1f680; &#x1f50e;大家好&#xff0c;我是黄桃罐头&#xff0c;希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流 &#x1f381;欢迎各位→点赞&#x1f44d; 收藏⭐️ 留言&#x1f4dd;​…

LeetCode 算法:验证二叉搜索树 c++

原题链接&#x1f517;&#xff1a;验证二叉搜索树 难度&#xff1a;中等⭐️⭐️ 题目 给你一个二叉树的根节点 root &#xff0c;判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下&#xff1a; 节点的左 子树 只包含 小于 当前节点的数。节点的右子树只包含 大于…

J1939与CAN标准报文的区别

J1939报文:J1939是在CAN2.0B(扩展CAN)的基础上,对仲裁场部分的29位ID的重新解释,其它部分完全一样。 29位ID分为:3位的优先级、8位的PF(帧格式)、8位的PS(帧扩展)、8位的SA(源地址)、1位的DP(Data Page数据页)、1位的保留位。 其中1位的DP、8位的PF、8位的PS组成…

数字化世界的守卫之防火墙

在这个数字化的时代&#xff0c;我们的电脑和手机就像是一座座繁华的城市&#xff0c;而病毒和黑客则是那些潜伏在暗处的敌人。但别担心&#xff0c;我们有一群忠诚的守卫——“防火墙”&#xff0c;它们日夜守护着我们的数字家园。 1. 病毒&#xff1a;数字世界的“瘟疫” 想象…

搞定求职难题:工作岗位列表+简历制作工具 | 开源专题 No.75

SimplifyJobs/New-Grad-Positions Stars: 8.5k License: NOASSERTION 这个项目是一个用于分享和跟踪美国、加拿大或远程职位的软件工作机会列表。该项目的核心优势和关键特点如下&#xff1a; 自动更新新岗位信息便捷地提交问题进行贡献提供一键申请选项 BartoszJarocki/cv…

MemManage_Handler 问题的解决思路

1、问题 在做一个安全类项目时发现&#xff0c;软件在运行一段时间后会进入"MemManage_Handler",遂开始了一系列查找。 2、解决 &#xff08;1&#xff09;查看堆栈数据 查堆栈的数据&#xff0c;发现堆栈也被破坏了&#xff0c;看不出来是执行哪个任务执行导致的…

Linux下vi文件的时候替换指定的内容

需要将nginx.conf中的192.168.222.188&#xff0c;替换为178.21.120.225 操作步骤&#xff1a; 1、vi 文件 vi nginx.conf2、输入 :%s/192.168.222.188/178.21.120.225/g3、最后保存 :wq