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

时间:2024-11-08 06:58:53

前言

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

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