Linux环境下离线安装nginx

前言:

nginx官网下载地址:
地址一:http://nginx.org/en/download.html
地址二:http://nginx.org/download/

以上两个地址都是nginx官网提供的下载地址,可根据实际情况下载自己需要的版本。

或者通过我的仓库进行下载,相关安装包下载地址:nginx下载

1.安装gcc

因为linux系统版本是aliyun,已经安装了gcc 环境。所以不需要安装,但是centos7等系统需要gcc环境编译。
挂载镜像后使用
yum install -y gcc gcc-c++

2.安装PCRE依赖库

PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库
cd pcre-8.42/ 
./configure 
make && make install

3.安装zlib 依赖库

zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。
cd zlib-1.2.11/ 
./configure 
make && make install

4.安装OpenSSL安全套接字层密码库

OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。
nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。
cd openssl-1.0.2r/ 
./config 
make && make install

5.安装Nginx

tar -zxvf nginx-1.14.2.tar.gz 
mv nginx-1.14.2 nginx 
cd nginx/ 
./configure --with-pcre=/usr/local/pcre-8.42/ --with-zlib=/usr/local/zlib-1.2.11/ --with-openssl=/usr/local/openssl-1.0.2r/ --prefix=/usr/local/nginx 
make && make install
注:
–prefix是将nginx安装的哪个目录,如果没有指定,将安装到/usr/local/nginx中,如果指定的目录中没有nginx文件夹,需要自己创建一个文件夹。
–with-pcre:后面的目录不能是 pcre 安装的目录,一定要是 pcre 的文件目录才可以,否则有些文件就找不到
启动Nginx提示报错
nginx: [alert] could not open error log file: open() "/usr/local/nginx/logs/error.log" failed (2: No such file or directory)
2021/05/31 18:32:24 [emerg] 41780#0: open() "/usr/local/nginx/logs/access.log" failed (2: No such file or directory)
原因:nginx下没有logs这些文件夹 。解决发方法:
[root@localhost nginx]# mkdir logs 
[root@localhost nginx]# touch logs/error.log 
[root@localhost nginx]# touch logs/access.log 
[root@localhost nginx]# ./sbin/nginx
[root@localhost nginx]#firewall-cmd --zone=public --add-port=80/tcp --permanent 
[root@localhost nginx]#firewall-cmd --reload 

 

6.测试是否安装成功

curl IP地址 或者通过浏览器输入IP地址进行访问 成功的话会出现nginx页面

 拓展

常见问题:
[root@localhost sbin]# ./nginx -s reload 
nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory)
解决方法:
使用nginx -c的参数指定nginx.conf文件的位置
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
查看nginx版本
[root@localhost ~]# cd /usr/local/nginx/sbin/
[root@localhost sbin]# ./nginx -V
nginx version: nginx/1.14.2
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC) 
configure arguments: --with-pcre=/usr/local/pcre-8.42/ --with-zlib=/usr/local/zlib-1.2.11/ --with-openssl=/usr/local/openssl-1.0.2r/ --prefix=/usr/local/nginx

 

 

posted @ 2022-01-10 16:17  聆听说书人  阅读(1233)  评论(0编辑  收藏  举报