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

前言

浅记录一下 在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的过程难易以及耗时长短,要根据具体情况决定。过程仅供参考,毕竟应该没有人跟我一样动不动就报错吧。。。。。。反正不行就针对错误找资料。。。。

相关推荐
冷曦_sole1 分钟前
linux-21 目录管理(一)mkdir命令,创建空目录
linux·运维·服务器
最后一个bug3 分钟前
STM32MP1linux根文件系统目录作用
linux·c语言·arm开发·单片机·嵌入式硬件
聚名网5 分钟前
服务器如何划分空间?
运维·服务器
卫生纸不够用22 分钟前
子Shell及Shell嵌套模式
linux·bash
world=hello34 分钟前
关于科研中使用linux服务器的集锦
linux·服务器
枫欢39 分钟前
将现有环境192.168.1.100中的svn迁移至新服务器192.168.1.4;
服务器·python·svn
华纳云IDC服务商39 分钟前
如何自动解决服务器弹性伸缩问题?
运维·服务器
Chloe.Zz1 小时前
Windows系统上创建Flask服务器
服务器
soragui1 小时前
【ChatGPT】OpenAI 如何使用流模式进行回答
linux·运维·游戏