文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Centos7下部署nginx(三种方式安装部署,图文结合超详细,适合初学者)

2023-08-18 13:31

关注

ngxin是什么

Nginx (engine x) 是一个高性能的HTTP反向代理web服务器,

Nginx是一款轻量级Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东新浪网易腾讯淘宝等。

nginx的作用

反向代理、负载均衡

正向代理和反向代理的区别

正向代理是客户端和其他所有服务器的代理者,而反向代理是客户端和所要代理的服务器之间的代理

正向代理:一般是像科学上网,任何可以连接到该代理服务器的软件,就可以通过代理访问任何的其他服务器,然后把数据返回给客户端,这里代理服务器只对客户端负责

反向代理:客户端是无感知代理服务器的存在的,访问者者并不知道自己访问的是一个代理。因为客户端不需要任何配置就可以访问。例如我们访问百度,百度不止一个服务器,在多个地方都有服务器,而我们都是通过www.baidu.com这个域名去访问的。

安装部署

安装环境

系统:centos7 内存:4G

网络类型:NAT模式 硬盘大小:80G

最小化安装 语言:英语

IP:192.168.180.131

yum安装

配置nginx源

# 执行如下命令rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm# 运行如下[root@localhost ~]# rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpmRetrieving http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpmwarning: /var/tmp/rpm-tmp.G6IXR0: Header V4 RSA/SHA1 Signature, key ID 7bd9bf62: NOKEYPreparing...                          ################################# [100%]Updating / installing...   1:nginx-release-centos-7-0.el7.ngx ################################# [100%]   # 出现如上所示,则配置成功,也可以在/etc/yum.repos.d/ 下看到多了一个nginx.repo文件[root@localhost ~]# cd /etc/yum.repos.d/[root@localhost yum.repos.d]# lsCentOS-Base.repo       CentOS-Media.repo          docker-ce.repoCentOS-CR.repo         CentOS-Sources.repo        nginx.repoCentOS-Debuginfo.repo  CentOS-Vault.repoCentOS-fasttrack.repo  CentOS-x86_64-kernel.repo

执行以下命令开始安装

yum install -y nginx

启动nginx

# 输入如下命令,没有报错,则启动成功nginx

浏览器访问, IP:80

image-20230329174033335

源码编译安装

下载安装包

进入官网下载:nginx: download

image-20230329174957546

上传至虚拟机

新建一个目录用来存放nginx 相关文件

mkdir -p /usr/local/nginx

将下载好的压缩包上传到刚刚新建好的目录下并解压

[root@localhost ~]# mkdir -p /usr/local/nginx[root@localhost nginx]# lltotal 1052-rw-r--r-- 1 root root 1073948 Mar 29 17:53 nginx-1.22.1.tar.gz# 解压tar -zxvf nginx-1.22.1.tar.gz[root@localhost nginx]# tar -zxvf nginx-1.22.1.tar.gznginx-1.22.1/nginx-1.22.1/auto/nginx-1.22.1/conf/nginx-1.22.1/contrib/nginx-1.22.1/src/nginx-1.22.1/configurenginx-1.22.1/LICENSEnginx-1.22.1/READMEnginx-1.22.1/html/············

安装编译环境

# 安装gcc,源码编译依赖 gcc 环境yum -y install gcc-c++# 安装pcre,pcre是一个perl库,包括perl兼容的正则表达式库,nginx的http模块使用pcre来解析正则表达式,所以需要安装pcre库yum install -y pcre pcre-devel# 安装zlib,zlib 库提供了很多种压缩和解压缩的方式,nginx 使用 zlib 对 http 包的内容进行 gzipyum install -y zlib zlib-devel# 安装OpenSSL库yum install -y openssl openssl-devel
# 进入解压后的目录[root@localhost ~]# cd /usr/local/nginx/[root@localhost nginx]# lsnginx-1.22.1  nginx-1.22.1.tar.gz[root@localhost nginx]# cd nginx-1.22.1[root@localhost nginx-1.22.1]# lltotal 800drwxr-xr-x 6 kaisa kaisa    326 Mar 29 17:55 auto-rw-r--r-- 1 kaisa kaisa 317399 Oct 19 16:02 CHANGES-rw-r--r-- 1 kaisa kaisa 485035 Oct 19 16:02 CHANGES.rudrwxr-xr-x 2 kaisa kaisa    168 Mar 29 17:55 conf-rwxr-xr-x 1 kaisa kaisa   2590 Oct 19 16:02 configuredrwxr-xr-x 4 kaisa kaisa     72 Mar 29 17:55 contribdrwxr-xr-x 2 kaisa kaisa     40 Mar 29 17:55 html-rw-r--r-- 1 kaisa kaisa   1397 Oct 19 16:02 LICENSEdrwxr-xr-x 2 kaisa kaisa     21 Mar 29 17:55 man-rw-r--r-- 1 kaisa kaisa     49 Oct 19 16:02 READMEdrwxr-xr-x 9 kaisa kaisa     91 Mar 29 17:55 src
# 执行安装./configuremakemake install# 执行完后 输入 whereis nginx 检查是否安装成功,如果出现路径则安装成功[root@localhost nginx-1.22.1]# whereis nginxnginx: /usr/local/nginx
# 启动nginx,需进入安装目录[root@localhost ~]# cd /usr/local/nginx/[root@localhost nginx]# lsconf  html  logs  nginx-1.22.1  nginx-1.22.1.tar.gz  sbin[root@localhost nginx]# ./sbin/nginx# 查看进程[root@localhost nginx]# ps -ef | grep nginxroot       6787      1  0 18:15 ?        00:00:00 nginx: master process ./sbin/nginxnobody     6788   6787  0 18:15 ?        00:00:00 nginx: worker processroot       6790   1415  0 18:16 pts/1    00:00:00 grep --color=auto nginx

浏览器查看访问 IP:80

image-20230329181750350

nginx常用命令

# 进入nginx的执行目录cd /usr/local/nginx/sbin# 启动nginx./nginx# 停止nginx(强制停止)./nginx -s stop# 退出nginx(安全退出)./nginx -s quit# 重新加载配置文件(修改过配置文件后使用)./nginx -s reload
# 防火墙相关命令# 关闭防火墙systemctl stop firewalld # 开启防火墙systemctl start firewalld# 查看防火墙状态systemctl status firewalld# 查看防火墙规则firewall-cmd --list-all# 查询端口是否开放firewall-cmd --query-port=80/tcp# 开放80端口firewall-cmd --permanent --add-port=80/tcp# 关闭80端口firewall-cmd --permanent --remove-port=8080/tcp# 重启防火墙(修改配置后要重启防火墙)firewall-cmd --reload

docker部署nginx

# 拉取镜像[root@localhost ~]# docker pull nginxUsing default tag: latestlatest: Pulling from library/nginxf1f26f570256: Pull complete7f7f30930c6b: Pull complete2836b727df80: Pull completee1eeb0f1c06b: Pull complete86b2457cc2b0: Pull complete9862f2ee2e8c: Pull completeDigest: sha256:2ab30d6ac53580a6db8b657abf0f68d75360ff5cc1670a85acb5bd85ba1b19c0Status: Downloaded newer image for nginx:latestdocker.io/library/nginx:latest# 查看镜像[root@localhost ~]# docker imagesREPOSITORY   TAG                IMAGE ID       CREATED         SIZEnginx        latest             080ed0ed8312   38 hours ago    142MB# 启动容器[root@localhost ~]# docker run -d --name mynginx -p 3600:80 nginxc4c63ea02cd8c4fb0fb4f99ed97319a28d13d88d45564290e9a605909227b3ed# 查看容器进程[root@localhost ~]# docker psCONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS             PORTS       NAMESc4c63ea02cd8   nginx     "/docker-entrypoint.…"   9 seconds ago   Up 8 seconds       0.0.0.0:3600->80/tcp, :::3600->80/tcp   mynginx

浏览器访问 虚拟机IP:3600 (这里我做了端口映射 ,默认的话是80端口)

image-20230329200905409

访问成功!

来源地址:https://blog.csdn.net/huz1Vn/article/details/129844471

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-服务器
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯