【Docker】在centos中安装nginx

发布时间:2024年01月18日

? ? ? ????????????????????????????????🎉🎉欢迎来到我的CSDN主页!🎉🎉

? ? ? ? ? ? ? ? ????????? ? 🏅我是平顶山大师,一个在CSDN分享笔记的博主。📚📚

? ????????? 🌟推荐给大家我的博客专栏《【Docker】安装nginx》。🎯🎯

????????????????????????🎁如果感觉还不错的话请给我关注加三连吧!🎁

目录

一,nginx介绍

二,安装nginx

三,Docker集成tomcat,jdk,nginx


一,nginx介绍

Nginx(发音为"engine x")是一款高性能的开源Web服务器,也可以用作反向代理、负载均衡器和HTTP缓存。

Nginx 的主要特点包括:

  1. 高性能:Nginx 可以处理大量的并发连接,而且在高负载情况下表现良好。

  2. 可扩展性:Nginx 可以作为反向代理和负载均衡器,可以轻松地扩展到多台服务器上。

  3. 低内存消耗:Nginx 采用事件驱动的模型,不需要为每个连接创建一个线程或进程,因此内存消耗比传统的 Web 服务器更低。

  4. 热部署:Nginx 支持热部署,可以在运行时重新加载配置文件和模块,无需重启服务器。

  5. 可靠性:Nginx 可以处理各种异常情况,如网络故障、后端服务器故障等。

二,安装nginx

docker pull nginx
docker run -itd --name nginx -p 8080:80 nginx:latest

访问:404是因为容器中没有内容

输入ip访问:

这里我们要修改nginx的配置文件:

在soft下面创建:

mkdir -p /soft/nginx/conf.d

default.conf

#服务器的集群
upstream tomcatList {  
    server 172.20.0.101:8080 weight=1; 
    server 172.20.0.102:8080 weight=1; 
    server 172.20.0.103:8080 weight=1; 
} 
    
server {

    listen  80;
    server_name  www.zkingedu.com;

    location / {
        root   /etc/nginx/html/;
        index  index.html index.htm;
    }

    error_page   500 502 503 504  /50x.html;
    
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
    
    location ~^/api/ {
        rewrite ^/api/(.*)$ /$1 break;
        proxy_pass  http://tomcatList;
        proxy_redirect default;
    }

}

将html资源放入:

这时候没有后台数据:

三,Docker集成tomcat,jdk,nginx

查看安装的镜像:

构建一个mysql

docker run \
--name m1 \
-v /mysql/conf/my.cnf:/etc/my.cnf \
-v /mysql/data:/var/lib/mysql \
--privileged=true \
-e MYSQL_ROOT_PASSWORD=123456 \
--net mynet \
--ip 172.20.0.200 \
-d mysql/mysql-server:5.7

进入mysql给root授予权限:


grant all on *.* to root@'%' identified by '123456';

?报错:查看报错信息:

docker logs -f s1

创建数据库:

create database shop;  

使用创建号的数据库:

use shop;

执行:

source  /var/lib/mysql/book.sql;

show tables;

一定要重启:

docker restart m1

编辑并且创建Dockerfile文件,用于创建镜像的配置命令:

vim Dockerfile
#1.指定基础镜像,并且必须是第一条指令
FROM  openjdk
#3.在构建镜像时,指定镜像的工作目录,之后的命令都是基于此工作目录,如果不存在,则会创建目录
WORKDIR  /project
#4.将文件从Docker主机将jdk及jar包复制到Docker镜像中
COPY  spring.jar /project
#5.容器启动时,需要执行的命令(执行jar包)
CMD java -jar spring.jar --mysql.addr=m1

docker  build  -t spring:v1 .

这里要切换到我们spring.jar的所在目录:不然会出现一个找不到的报错

创建3个容器:

docker run -itd --name s1 --net mynet -p 8080:8080 --ip 172.20.0.101 spring:v1
docker run -itd --name s2 --net mynet --ip 172.20.0.102 spring:v1
docker run -itd --name s3 --net mynet --ip 172.20.0.103 spring:v1


?

????????????????认真写博客的人,见一个少一个🤩🤩🤩🤩🤩🤩🤩🤩🤩

 ? ? ? ????????👍 点赞支持,?? 收藏学习,?? 关注不迷路~
 ? ? ? ? ? ? ? ? ? ? ?  💬 如有错漏请不吝指正~

????????????????????????????????平顶山大师-CSDN博客 平顶山大师-CSDN博客

文章来源:https://blog.csdn.net/m0_73647713/article/details/135654920
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。