1 背景

Nginx是一款轻量级的Web服务器反向代理服务器,由于它的内存占用少,启动极快,高并发能力强,在互联网项目中广泛应用。本文介绍三种基于linux环境下的安装nginx方法,安装版本为现阶段官网推出的最新稳定版本
环境说明

软件项目 版本
操作系统 Centos7.9
nginx 1.20.2
docker 20.10.9
请添加图片描述

2 linux 的四种安装方式

其中yum源码安装、docker安装依赖互联网接入rpm可以离线安装。

3 安装步骤

安装之前查看端口默认nginx使用的80端口,如果80端口已经占用启动过程中可能会报错,针对端口占用情况,可以停止占用端口服务或者nginx改用其他端口启动,停用和改端口方法不再本文介绍参考Centos7防火墙设置

netstat -nltp | grep 80

3.1 yum 安装ningx

nginx添加yum repro库中

 # 下载nginx包
 wget https://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

请添加图片描述

 # 建立nginx的yum仓库
 rpm -ivh nginx-release-centos-7-0.el7.ngx.noarch.rpm

查看nginx信息

yum info nginx

查看yum仓库中nginx版本

yum --showduplicates list nginx | expand

安装nginx,默认安装最新的稳定版本 及 nginx 1.20.2

yum install nginx

3.2 源码编译安装nginx

Nginx 源码包安装步骤相比其他安装方法比较繁琐,但是操作复杂需要提前安装一些 Nginx 依赖库。

3.2.1 依赖库安装

1、安装gcc环境

编译时依赖gcc环境

yum -y install gcc gcc-c++ autoconf automake make

2、安装 pcre

提供nginx支持重写功能

yum -y install pcre pcre-devel

3、安装zlib

zlib 库提供了很多压缩解压缩的方式,nginx 使用 zlibhttp内容进行 gzip 压缩

yum -y install zlib zlib-devel make libtool

4、安装openssl

安全接字密码库,用于通信加密

yum -y install openssl openssl-devel

3.2.2 nginx 安装

手动创建用户用户

groupadd nginx
useradd nginx -g nginx -s /sbin/nologin -M

官网下载nginx源码包

wget https://nginx.org/download/nginx-1.20.2.tar.gz

解压

tar -zxvf nginx-1.20.2.tar.gz

编译目录

cd nginx-1.20.2
# 检查平台安装环境
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --user=nginx --group=nginx

参数说明:

prefix=/usr/local/nginx

#编译安装目录

user=nginx

#所属用户nginx

group=nginx

#所属组nginx

–with-http_stub_status_module

#该模块提供nginx的基本状态信息

–with-http_ssl_module

# 支持HTTPS

编译源码并安装

make			# 编译
make install  		# 安装

nginx编译安装完成以后,修改nginx.conf

user nginx nginx;

3.2.3 ningx操作

启动服务

/usr/local/nginx/sbin/nginx

重新加载服务

/usr/local/nginx/sbin/nginx -s reload

停止服务

/usr/local/nginx/sbin/nginx -s stop

查看进程

ps -ef | grep nginx

在这里插入图片描述验证

curl IP

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bhb5rfTe-1648881196332)(/home/j/.config/Typora/typora-user-images/image-20220331170142755.png)]

nginx版本信息查看

/usr/local/nginx/sbin/nginx -V

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UmABK1jh-1648881196334)(/home/j/.config/Typora/typora-user-images/image-20220331170355633.png)]

nginx配置服务

目前nginx都是通过命令执行的,在nginx运行过程中,需要nginx作为系统服务运行。以systemctl命令运行服务

配置服务文件

vi /lib/systemd/system/nginx.service

配置信息

[Unit]
Description=nginx 
After=network.target 
   
[Service] 
Type=forking 
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx reload
ExecStop=/usr/local/nginx/sbin/nginx quit
PrivateTmp=true 
   
[Install] 
WantedBy=multi-user.target

创建服务

systemctl enable nginx.service

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dbgZtQY9-1648881196335)(/home/j/.config/Typora/typora-user-images/image-20220331171127495.png)]

使用服务命令

systemctl status nginx

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pYpUpIZu-1648881196336)(/home/j/.config/Typora/typora-user-images/image-20220331171256393.png)]

3.3 rpm安装包安装nginx

3.3.1 下载rpm安装包

官网下载安装包

wget https://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.20.2-1.el7.ngx.x86_64.rpm

在这里插入图片描述

3.3.2 安装nginx包

rpm -ivh nginx-1.20.2-1.el7.ngx.x86_64.rpm

在这里插入图片描述

3.3.3 配置权限

使用root账号创建nginx用户和组

groupadd nginx
useradd nginx -g nginx -s /sbin/nologin -M

授权列表清单给nginx

chown -R nginx:nginx /etc/log/logrotate.d/nginx
chown -R nginx:nginx /etc/nginx
chown -R nginx:nginx /etc/nginx/conf.d
chown -R nginx:nginx /etc/config.d/default.conf
chown -R nginx:nginx /etc/nginx/fastcgi_params
chown -R nginx:nginx /etc/nginx/mime.types
chown -R nginx:nginx /etc/nginx/modules
chown -R nginx:nginx /etc/nginx/nginx.conf
chown -R nginx:nginx /etc/nginx/scgi_params
chown -R nginx:nginx /etc/nginx/uwsgi_params
chown -R nginx:nginx /usr/lib/systemd/system/nginx-debug.service
chown -R nginx:nginx /usr/lib/systemd/system/nginx.service
chown -R nginx:nginx /usr/lib64/nginx
chown -R nginx:nginx /usr/lib64/nginx/modules
chown -R nginx:nginx /usr/libexec/initscripts/legacy-actions/nginx
chown -R nginx:nginx /usr/libexec/initscripts/legacy-actions/nginx/check-reload
chown -R nginx:nginx /usr/libexec/initscripts/legacy-actions/nginx/upgrade
chown -R nginx:nginx /usr/sbin/nginx
chown -R nginx:nginx /usr/sbin/nginx-debug
chown -R nginx:nginx /usr/share/doc/nginx-1.20.1
chown -R nginx:nginx /usr/share/doc/nginx-1.20.1/COPYRIGHT
chown -R nginx:nginx /usr/share/man/man8/nginx.8.gz
chown -R nginx:nginx /usr/share/nginx
chown -R nginx:nginx /usr/share/nginx/html
chown -R nginx:nginx /usr/share/nginx/html/50x.html
chown -R nginx:nginx /usr/share/nginx/html/index.html
chown -R nginx:nginx /var/cache/nginx
chown -R nginx:nginx /var/log/nginx

启动nginx

systemctl start nginix

验证

curl IP

卸载 nginx

# 查看nginx安装文件
rpm -qa | grep nginx
nginx-1.20.2-1.el7.ngx.x86_64
# 卸载nginx安装文件
 rpm -e nginx-1.20.2-1.el7.ngx.x86_64

3.4 docker 中安装nginx

docker安装可以选择在线离线安装,在线安装使用docker命令安装,离线安装使用docker安装完毕后,打包离线服务器进行安装,本文以在线安装为例进行展开操作。docker 安装在此不做过多介绍docker安装参考centos7 设置阿里云yum源、docker源和docker镜像加速》中的docker安装部分

# 获取nginx镜像
docker pull nginx:1.21.6
# 查看镜像
docker images
运行nginx
docker run --name nginx -p 80:80 -d nginx

使用过程中会挂载 配置文件站点日志信息,在现有基础上新增挂载参数即可
验证

curl IP

4 nginx 其他

4.1 nginx常用操作

常用操作是基于nginx正确安装的基础上的操作

启动nginx

systemctl start nginx

停止 nginx

systemctl stop nginx

重启 nginx

systemctl restart nginx

重新加载配置

systemctl reload nginx

设置开机启动

systemctl enable nginx

关闭开机启动设置

systemctl disable nginx

查看版本

nginx -V

在这里插入图片描述

4.2 目录说明

目录 说明
/etc/nginx/ 所有相关配置文件目录
/etc/nginx/nginx.conf nginx主配置文件
/etc/nginx/conf.d/ 独立的nginx服务配置文件目录
/var/log/nginx/ nginx日志文件目录
/var/log/nginx/access.log 访问日志(IP/浏览器信息/处理时间/请求URL)
/var/log/nginx/error.log 错误日志(服务器和请求处理中的错误信息)
/usr/share/nginx/html 默认站点位置,可以根据实际情况进行设置调整

原文地址:https://blog.csdn.net/shallow72/article/details/123878716

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_16105.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注