Debian 12环境里部署nginx步骤记录

news/2024/11/8 10:20:43 标签: 服务器, linux, 运维

前言

浅记录一下 在Debian 12环境里安装nginx的过程,这个过程并没有特别顺利,有遇到各种报错,这些报错,我也会记录进来;方便自己后续查看以及供需要的小伙伴参考吧~~ 

主要参考资料:https://blog.csdn.net/qq_71371157/article/details/141453071

准备工作

准备linux下nginx 的包:可以从其官网下载:https://nginx.org/en/download.html

我这次使用的是 1.26.2的版本:

下载下来:并通过如finallshell、winscp等ssh工具将其传到linux服务器上。(也可以通过wget命令直接下载到linux服务器上)

部署步骤

1、安装依赖:

大多数的linux安装过程,都需要预先安装依赖,而依赖的安装有时候也是需要根据环境具体情况具体分析。 这里大家可以参考网上的资料 。

Debian 的依赖安装是需要使用apt 命令的 :

sudo apt install gcc pcre-devel zlib-devel openssl openssl-devel

然而 却报错了:无法定位软件包 pcre-devel 、zlib-devel、openssl-devel

这里报错了,我就暂时没管了。继续下一步:

2、解压

使tar -zxvf nginx-1.26.2.tar.gz 命令解压,形成与当前压缩文件同名的文件夹:

然后cd 进入解压后的目录:

3、配置nginx

如图所示,configure文件是具备可执行权限才对:

配置nginx命令: ./configure --prefix=/usr/local/nginx  

--prefix= 指向 安装目录  当然还有其他的配置选项,没有特殊需求就用上述命令即可。

错误与处理办法

在这里我就遇到了问题: 诸如:缺少c 编译器 checking for C compiler ... not found

@debian12:/opt/nginx/nginx-1.26.2$ ./configure --prefix=/usr/local/nginx
checking for OS
 + Linux 6.1.0-20-amd64 x86_64
checking for C compiler ... not found

./configure: error: C compiler cc is not found

于是用命令:

sudo apt install gcc

结果还是有报错。如图:

提示:E: 无法下载 http://security.debian.org/debian-security/pool/updates/main/l/linux/linux-libc-dev_6.1.90-1_amd64.deb  404  Not Found [IP: 146.75.114.132 80]
E: 有几个软件包无法下载,要不运行 apt-get update 或者加上 --fix-missing 的选项再试试?

网上有说 先用 sudo apt-get install build-essential 安装;结果还是错:

然后我就  sudo apt-get update升级了系统,然后再安装:

于是我又用:sudo apt install gcc --fix-missing  去安装gcc的依赖

结果还是报错:缺少PCRE库

./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=<path> option.

这个缺少PCRE库的情况 通过 :sudo apt-get install libpcre3 libpcre3-dev 来安装PCRE库:

结果还是报错了:提示requires the zlib library.

./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=<path> option.

直接用sudo apt-get install zlib就是是不行的,如图:E:无法定位软件包 zlib

缺少 zlib库的处理办法: sudo apt-get install zlib1g-dev

安装好 zlib的库:zlib1g-dev 之后重新配置:

此时就可以配置成功,如下图,本次操作,nginx的安装路径为/usr/local/nginx

4、make

配置完毕就可以进行下一步:make

5、安装

安装的时候需要注意权限:sudo make install 否则可能会因为权限不足无法创建对应的目录:

6、配置服务

sudo nano /usr/lib/systemd/system/nginx.service

内容如下:

Description=The Nginx HTTP Server
After=network.target remote-fs.target nss-lookup.target
 
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
PrivateTmp=true
 
[Install]
WantedBy=multi-user.target

进入nano界面后 ctrl+S就可以直接保存

7、设置开机自启动以及启动服务

systemctl enable nginx.service #(设置开机自启动)

systemctl start nginx.service #(启动nginx服务)

systemctl status nginx.service #(查看服务当前状态)

总结

配置nginx的过程难易以及耗时长短,要根据具体情况决定。过程仅供参考,毕竟应该没有人跟我一样动不动就报错吧。。。。。。反正不行就针对错误找资料。。。。


http://www.niftyadmin.cn/n/5743744.html

相关文章

【系统集成项目管理工程师教程】第14章 收尾过程组

14.收尾过程组概述 定义与作用 包括为正式完成或关闭项目、阶段或合同而开展的过程&#xff0c;旨在核实所有过程组的全部过程均已完成&#xff0c;宣告项目或阶段关闭&#xff0c;确保恰当地关闭阶段、项目和合同&#xff0c;适用于项目提前关闭情况。 主要工作内容 确认项目合…

Rust-Trait 特征编程

昨夜江边春水生&#xff0c;艨艟巨舰一毛轻。 向来枉费推移力&#xff0c;此日中流自在行。 ——《活水亭观书有感二首其二》宋朱熹 【哲理】往日舟大水浅&#xff0c;众人使劲推船&#xff0c;也是白费力气&#xff0c;而此时春水猛涨&#xff0c;巨舰却自由自在地飘行在水流中…

Ardusub中添加自定义控制器

1.建议保留原程序 复制ardupilot文件夹到当前目录&#xff0c;命名为ardupilot_ARDC cp -r ardupilot ardupilot_copy2.切换Sub-4.5版本 Sub-4.1版本libraries里没有AC_CustomControl文件夹&#xff0c;我们需要用到这个文件夹所以需要进行切换分支&#xff0c;在当前ardupi…

【科普】简述机器学习和深度学习及其相关的算法

文章目录 机器学习1. 基本概念2. 机器学习的分类3. 机器学习的常用方法4. 应用领域5. 挑战与未来6. 未来趋势 机器学习算法 深度学习1.深度学习的基本概念2.深度学习的主要架构3.深度学习的应用4.深度学习的挑战 深度学习算法 机器学习 机器学习是人工智能的一个重要分支&…

python操作CSV和excel,如何来做?

诸如pandas、xlrd、xlwings也可以实现excel的读取&#xff0c;但pandas最简单实用。 使用pandas分三步走&#xff1a; 1、安装python 2、安装IDE比如pycharm、jupyter&#xff08;这里强烈推荐使用jupyter notebook或者lab&#xff09; notebook展示数据很直观&#xff0c;就…

./bin/mindieservice_daemon启动成功

接MindIE大模型测试及报错Fatal Python error: PyThreadState_Get: the function must be called with the GIL held,-CSDN博客经过调整如下红色部分参数&#xff0c;昇腾310P3跑起来了7b模型&#xff1a; rootdev-8242526b-01f2-4a54-b89d-f6d9c57c692d-qjhpf:/home/apulis-de…

Qt(程序打包)

Qt开发的程序最终都是要给用户使用的&#xff0c;用户的电脑上不可能装一个Qt的开发环境导入项目使用。因此项目项目开发完成后需要打包——制作成安装包&#xff0c;用户直接下载并安装即可使用。 1. 设置图标 设置图标的操作步骤如下&#xff1a; 1. 准备好图标文件&#xff…

TCP/IP与HTTP协议:概念、关系与工作原理

一、引言 在计算机网络领域&#xff0c;TCP/IP和HTTP协议是至关重要的基础概念。它们在数据传输、网络通信以及互联网应用中发挥着关键作用。理解这些协议的概念、区别以及它们的工作原理&#xff0c;对于深入掌握网络技术和开发网络应用程序具有重要意义。 二、TCP/IP协议 …