Nginx环境搭建、docker安装

news2024/11/24 17:33:26

1.Nginx安装

1)首先创建Nginx的目录并进入

[root@lucky ~]# mkdir /soft && mkdir /soft/nginx/
[root@lucky ~]# cd /soft/nginx/
[root@lucky nginx]# 

2)下载Nginx的安装包,可以通过FTP工具上传离线环境包,也可通过wget命令在线获取安装包

[root@lucky nginx]# wget https://nginx.org/download/nginx-1.21.6.tar.gz
--2023-08-08 08:41:04--  https://nginx.org/download/nginx-1.21.6.tar.gz
正在解析主机 nginx.org (nginx.org)... 52.58.199.22, 3.125.197.172, 2a05:d014:edb:5704::6, ...
正在连接 nginx.org (nginx.org)|52.58.199.22|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:1073364 (1.0M) [application/octet-stream]
正在保存至: “nginx-1.21.6.tar.gz”

100%[=============================================================================================>] 1,073,364    771KB/s 用时 1.4s   

2023-08-08 08:41:09 (771 KB/s) - 已保存 “nginx-1.21.6.tar.gz” [1073364/1073364])

[root@lucky nginx]# 

3)解压Nginx的压缩包

[root@lucky nginx]# tar -xvzf nginx-1.21.6.tar.gz

 4)下载并安装Nginx所需的依赖库和包

[root@lucky ~]# yum install --downloadonly --downloaddir=/soft/nginx/ gcc-c++
[root@lucky ~]# yum install --downloadonly --downloaddir=/soft/nginx/ pcre pcre-devel4
[root@lucky ~]#  yum install --downloadonly --downloaddir=/soft/nginx/ zlib zlib-devel
[root@lucky ~]#  yum install --downloadonly --downloaddir=/soft/nginx/ openssl openssl-devel

执行完成后,然后ls查看目录文件,会看一大堆依赖  

 通过rpm命令依次将依赖包一个个构建,或者通过如下指令一键安装所有依赖包

[root@lucky nginx]# rpm -ivh --nodeps *.rpm
准备中...                          ################################# [100%]
        软件包 zlib-1.2.7-21.el7_9.x86_64 已经安装
        软件包 openssl-libs-1:1.0.2k-26.el7_9.x86_64 已经安装
        软件包 krb5-libs-1.15.1-55.el7_9.x86_64 已经安装
        软件包 libkadm5-1.15.1-55.el7_9.x86_64 已经安装
        软件包 cpp-4.8.5-44.el7.x86_64 已经安装
        软件包 zlib-devel-1.2.7-21.el7_9.x86_64 已经安装
        软件包 pcre-devel-8.32-17.el7.x86_64 已经安装
        软件包 libverto-devel-0.2.5-4.el7.x86_64 已经安装
        软件包 libsepol-devel-2.5-10.el7.x86_64 已经安装
        软件包 libselinux-devel-2.5-15.el7.x86_64 已经安装
        软件包 libcom_err-devel-1.42.9-19.el7.x86_64 已经安装
        软件包 keyutils-libs-devel-1.5.8-3.el7.x86_64 已经安装
        软件包 krb5-devel-1.15.1-55.el7_9.x86_64 已经安装
        软件包 kernel-headers-3.10.0-1160.95.1.el7.x86_64 已经安装
        软件包 glibc-headers-2.17-326.el7_9.x86_64 已经安装
        软件包 glibc-devel-2.17-326.el7_9.x86_64 已经安装
        软件包 gcc-4.8.5-44.el7.x86_64 已经安装
        软件包 openssl-devel-1:1.0.2k-26.el7_9.x86_64 已经安装
        软件包 openssl-1:1.0.2k-26.el7_9.x86_64 已经安装
[root@lucky nginx]# 

5)进入解压后的nginx目录,然后执行Nginx的配置脚本,为后续的安装提前配置好环境,默认位于/usr/local/nginx/目录下(可自定义目录)

[root@lucky nginx]# cd nginx-1.21.6
[root@lucky nginx-1.21.6]# ./configure --perfix=/soft/nginx/ 

 6)编译并安装Nginx

[root@lucky nginx-1.21.6]# make && make install

 7)最后回到前面的/soft/nginx/目录,输入ls即可看见安装nginx完成后生成的文件

[root@lucky nginx-1.21.6]# cd ..
[root@lucky nginx]# ls
conf
cpp-4.8.5-44.el7.x86_64.rpm
gcc-4.8.5-44.el7.x86_64.rpm
gcc-c++-4.8.5-44.el7.x86_64.rpm
glibc-devel-2.17-326.el7_9.x86_64.rpm
glibc-headers-2.17-326.el7_9.x86_64.rpm
html
kernel-headers-3.10.0-1160.95.1.el7.x86_64.rpm
keyutils-libs-devel-1.5.8-3.el7.x86_64.rpm
krb5-devel-1.15.1-55.el7_9.x86_64.rpm
krb5-libs-1.15.1-55.el7_9.x86_64.rpm
libcom_err-devel-1.42.9-19.el7.x86_64.rpm
libkadm5-1.15.1-55.el7_9.x86_64.rpm
libselinux-devel-2.5-15.el7.x86_64.rpm
libsepol-devel-2.5-10.el7.x86_64.rpm
libstdc++-devel-4.8.5-44.el7.x86_64.rpm
libverto-devel-0.2.5-4.el7.x86_64.rpm
logs
nginx-1.21.6
nginx-1.21.6.tar.gz
openssl-1.0.2k-26.el7_9.x86_64.rpm
openssl-devel-1.0.2k-26.el7_9.x86_64.rpm
openssl-libs-1.0.2k-26.el7_9.x86_64.rpm
pcre-devel-8.32-17.el7.x86_64.rpm
sbin
zlib-1.2.7-21.el7_9.x86_64.rpm
zlib-devel-1.2.7-21.el7_9.x86_64.rpm
[root@lucky nginx]# 

 8)修改安装后生成的conf目录下的nginx.conf配置文件

[root@lucky nginx]# vi conf/nginx.conf

9)制定配置文件并启动Nginx

[root@lucky nginx]# sbin/nginx -c conf/nginx.conf
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] still could not bind()
[root@lucky nginx]#  ps aux | grep nginx
root       5817  0.0  0.0 112824   984 pts/0    R+   09:01   0:00 grep --color=auto nginx
[root@lucky nginx]# 

 10)开放80端口,并更新防火墙

[root@lucky nginx]# firewall-cmd --zone=public --add-port=80/tcp --permanent 
success
[root@lucky nginx]# firewall-cmd --reload 
success
[root@lucky nginx]# firewall-cmd --zone=public --list-ports
80/tcp

11)在Windows/Mac的浏览器中,直接输入刚刚配置的IP地址访问Nginx

 

 2.docker安装

1)更新系统

[root@lucky ~]# yum update

2)安装所需的软件包以便使用存储库安装Docker

[root@lucky ~]# yum install -y yum-utils device-mapper-persistent-data lvm2 

3)添加Docker存储库

[root@lucky ~]# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

4)安装Docker引擎

[root@lucky ~]# yum install docker-ce 

5)启动Docker服务并设置开机启动

[root@lucky ~]# systemctl start docker
[root@lucky ~]# systemctl enable docker 

6)添加当前用户到docker组,以便免去使用sudo运行Docker命令

[root@lucky ~]# usermod -aG docker $USER
 

7)配置Docker的镜像加速器以提高下载速度。编辑或创建 /etc/docker/daemon.json 文件并添加以下内容(如果文件不存在,就创建它) 

{
  "registry-mirrors": ["https://your-mirror-url"]
}

8)重新启动Docker服务以应用更改

[root@lucky ~]# systemctl restart docker 

9)测试 

[root@lucky ~]# docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
719385e32844: Pull complete 
Digest: sha256:926fac19d22aa2d60f1a276b66a20eb765fbeea2db5dbdaafeb456ad8ce81598
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/846638.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据标注对新零售的意义及人工智能在新零售领域的应用?

数据标签对于新零售至关重要,因为它构成了训练和部署人工智能(AI)和机器学习(ML)模型的基础。在新零售的背景下,数据标签涉及对数据进行分类、标记或注释以使其能够被机器理解的过程。然后,这些…

手把手写深度学习(20):搭建LLM大语言模型的敏感词过滤系统

前言:随着Llama 2、通义千问7B等越来越多的大语言模型开源,开发者们可以基于这些开源的模型搭建自己的对话系统、Agent等。但是因为我们的国情,需要开发者对这些模型进行一些特殊的“安全性”考虑,保证与用户的交互不会出现“有害信息”。这篇博客手把手教大家搭建一个大语…

效率利器之事件委托

前言 公司产品部推出了一款新产品,经理指派小A负责推广工作。小A通过多方打听了解到推广流程,需要使用公司证件在几个平台注册账号,并经过多轮审批。小A经历了一番操作后感到身心俱疲,最终成功将产品发布到公众平台上。 与此同时…

GB:重测序+转录2023经典文章,一篇就够

在三代测序崛起的现在,HiFi Reads以其超长读长,高准确率及灵敏度、GC偏向性小、无PCR偏向性等特色优势在动植物基因组、微生态领域等研究中正崭露头角,成为组学研究技术的新热门。高品质的HiFi Reads成为攻克动植物基因组组装难点的有力助推&…

SNAP插件sen2Three去云操作

1.先把这篇文章看了 2.去官网下载Sen2Three 3.这时候可以大概看看Sen2Three的官方文档,我们知道了需要用anaconda2环境 4.我是已经安装有anaconda3,所以需要两个并存,此时可以参考这篇文章 5.这是ananconda2的链接,直接下载安装即可&#xff…

南卡签约游泳冠军傅园慧,创造防水运动耳机的新天花板!

近日,国内骨传导运动耳机龙头品牌NANK南卡,正式官宣知名游泳冠军傅园慧出任品牌形象大使。在此之外,南卡品牌方还特邀了同样作为游泳冠军的孙杨,以及知名演员张新成、流行歌手段奥娟等多位明星来体验旗下的运动耳机,皆…

Python中搭建IP代理池的妙招

在Python的爬虫世界里,你是否也想搭建一个功能强大的IP代理池,让你的爬虫无忧无虑地畅游各大网站?今天,我就来教你使用Scrapy框架搭建IP代理池,让你的爬虫更加智能、高效!跟着我一步一步来,轻松…

天津最新python培训班就业形势 python能就业吗?

小编认为Python是一门非常适合学习的编程语言,无论性别如何。它易于学习、功能强大,并且在各个领域都有广泛的应用,因此,性别不应该成为学习Python的障碍,那么学习Python是否就能找到满意的工作呢? 这是一…

PyTorch深度学习实战(10)——过拟合及其解决方法

PyTorch深度学习实战(10)——过拟合及其解决方法 0. 前言1. 过拟合基本概念2. 添加 Dropout 解决过拟合3. 使用正则化解决过拟合3.1 L1 正则化3.2 L2 正则化 4. 学习率衰减小结系列链接 0. 前言 过拟合 (Overfitting) 是指在机器学习中,模型…

问题解决方案

前端开发 1、npm安装的时候老是卡住 reify:rxjs: timing reifyNode:node_modules/vue/cli/node_modules 查看当前使用的那个镜像 nrm lsnpm ---------- https://registry.npmjs.org/yarn --------- https://registry.yarnpkg.com/cnpm --------- https://r.cnpmjs.org/taobao …

推荐系统工作小结

最初的构想 由于我们的技术团队中并没有人真正用大数据的方法做过推荐系统。所以我们定的步骤是先解决有没有的问题。然后再持续地进行效果优化的工作。 现状 但一方面考虑到要快速上线。另一方面也希望对推荐系统的效果有一个合理的参照。我们打算先使用达观数据的推荐系统云…

无涯教程-Perl - endpwent函数

描述 此功能告诉系统您不再希望使用getpwent从密码文件读取条目。在Windows下,使用Win32API::Net函数从域服务器获取信息。 语法 以下是此函数的简单语法- endpwent返回值 此函数不返回任何值。 例 以下是显示其基本用法的示例代码- #!/usr/bin/perlwhile(($name, $pas…

不知道ai绘画工具有哪些?那就赶紧把这些AI绘画工具收藏下来

近年来,AI技术的发展很快,在很多领域都取得了新的进展,这其中也包括了绘画领域。 最近,我看到了几幅用AI生成的图片,被深深地吸引住了。 所以,我就去找了几个AI绘画工具尝试制作AI图片。 尝试完之后发现…

论文解读|使用深度卷积网络的图像超分辨率

原创 | 文 BFT机器人 论文标题:Image Super-Resolution Using Deep Convolutional Networks 网址:https://arxiv.org/abs/1501.00092 代码:https://github.com/Edwardlzy/SRCNN 01 摘要 提出了一种单幅图像超分辨率(SR&#x…

docker菜谱

DockerHub:https://hub.docker.com/ 记录docker常用软件安装,欢迎大家投稿。😎😎😎 文章目录 1. Redis 1. Redis 1、下载redis镜像: docker pull redis:6.2.8 docker pull redis:7.0.02、启动容器&#x…

python入门篇01- 安装python必备环境和helloworld书写

目录 1. 前言简介 1.1 python简介: 1.1.1 Python是一种高级编程语言, 1.1.2 Python的命名是受到了英国喜剧团体Monty Python的启发。 1.1.3从1990年开始,Python获得了一些用户 1.2 python与java的区别 2. python书写helloworld 2.1 安装pytho…

pytorch求导

pytorch求导的初步认识 requires_grad tensor(data, dtypeNone, deviceNone, requires_gradFalse)requires_grad是torch.tensor类的一个属性。如果设置为True,它会告诉PyTorch跟踪对该张量的操作,允许在反向传播期间计算梯度。 x.requires_grad 判…

选择移动CRM需必备哪几大功能?

随着信息技术的飞速发展,移动CRM成为企业数字化转型的必备工具。本文将探讨移动CRM主要功能有哪些?帮助大家在CRM选型中少走弯路,认识移动CRM可以做哪些事。 1.整合客户数据 移动CRM的首要功能是帮助企业轻松采集和整合客户数据。通过移动设…

基于Java+SpringBoot制作一个智能用电小程序

在当今快节奏的生活中,高效利用能源变得越来越重要。制作一个智能用电小程序,旨在帮助您更智能地管理家庭电器的用电,从而提升能源利用效率,助您掌握用电情况,降低能耗成本,实现绿色低碳生活。 目录 一、小程序1.1 项目创建1.2 首页轮播图快捷导航iconfont图标引入

【LeetCode 75】第二十三题(2352)相等行列对

目录 题目: 示例: 分析: 代码运行结果: 题目: 示例: 分析: 题目很简洁,就是要我们寻找行与列相同的对数。相同行与列不仅是要元素相同,还需要顺序也一样&#xff08…