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