sudo yum install epel-release
接下来,安装Nginx。
使用sudo yum 安装nginx
启动Nginx 服务。
sudo systemctl 启动nginx
配置Nginx 在启动时自动启动。
使用sudo systemctl 启用nginx
您可以通过以下命令查看Nginx安装状态:
nginx 的systemctl 状态
如果您的系统有防火墙(例如firewalld),则它必须允许HTTP和HTTPS流量。
sudo 防火墙-cmd –permanent –zone=public –add-service=http
sudo 防火墙-cmd –permanent –zone=public –add-service=https
sudo 防火墙-cmd –reload
#### 配置nginx
删除`/etc/nginx/nginx.conf`中的服务器部分代码。
服务器{
……
}
在“/etc/nginx/conf.d”中创建自定义配置文件“default.conf”。
服务器{
听80。
443 监听SSL。
服务器名称www.nsyx.net;
位置/{
根/usr/share/nginx/html;
索引index.htmlindex.htm;
}
SSL 开启。
ssl_certificate /etc/nginx/ssl/www.nsyx.net.pem;
ssl_certificate_key /etc/nginx/ssl/nxys.key;
ssl_session_timeout 5 分钟;
ssl_协议TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-
SHA256:ECDHE:ECDH:AES:HIGH:NULL:aNULL:MD5:ADH:RC4:DH:DHE;
ssl_prefer_server_ciphers 已打开。
错误页497 https://$host$uri?$args;
}
反向代理Docker后端服务:
服务器{
Listen 443 ssl; # 启用SSL 并监听端口443。
server_name your-domain.com # 域名
ssl_certificate /etc/nginx/ssl/your-domain.com.pem; # 证书文件路径
ssl_certificate_key /etc/nginx/ssl/your-domain.com.key #私钥文件路径;
ssl_protocols TLSv1.2 TLSv1.3 # 推荐的TLS 版本
ssl_ciphers HIGH:aNULL:MD5; # 推荐的密码套件配置
位置/{
proxy_pass http://localhost:8080; # Docker服务地址
proxy_set_header 主机$host;
proxy_set_header X-真实IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
可选:重定向HTTP到HTTPS
服务器{
听80。
服务器名称yourdomain.com;
返回301 https://
H
啊
s
t
主持人
主机request_uri;
}
其中:
“root /usr/share/nginx/html;”表示网站的文件目录,后面的分号不能省略。
ssl\\_certificate 和ssl\\_certificate\\_key 指的是https 证书。
error\\_page 497 https://$host$uri?$args; 该语句的作用是强制http跳转到https。
更新您的nginx 配置。
nginx -s 重新加载
### 4. 设置Python环境(针对Docker)
#### 步骤1: 安装Docker
1. 首先,安装所需的软件包。
sudo yum install -y yum-utils 设备映射器持久数据lvm2
2.添加Docker官方仓库。
sudo yum-config-manager –add-repo https://download.docker.com/linux/centos/docker-ce.repo
3.安装Docker CE(社区版)。
sudo yum install -y docker-ce docker-ce-clicontainerd.io
4. 启动Docker服务并将其设置为开机自动启动。
sudo systemctl 启动docker sudo systemctl 启用docker
#### 步骤2: 创建Dockerfile
1. 创建一个新目录作为项目的根目录并进入该目录。
mkdir my_python_project cd my_python_project
2. 在此目录中创建一个名为“Dockerfile”的文件。该文件定义了Docker 容器的构建过程。
使用 Python 10 官方镜像作为基础镜像
来自python:3.10
设置工作目录
工作目录/usr/src/app
将当前目录下的所有文件复制到容器中 (将要打包的文件放到和dockerfile相同路径下)
复制。
安装项目依赖 国内使用清华镜像
运行pip install –no-cache-dir -rrequirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
暴露端口
曝光8000
设置环境变量
ENV MY_VARIABLE_NAME=我的值
ANOTHER_VARIABLE_NAME=another_value
定义容器启动时执行的命令
CMD [“python”,“./your_script.py”]
该Dockerfile 执行以下操作:
* 从官方Python 10 映像构建。
*设置容器内的工作目录。
*将当前目录(项目目录)下的文件复制到容器中。
* 安装项目的依赖项(假设您有一个列出所有依赖项的“requirements.txt”文件)。
* 指定容器在运行时侦听的端口(根据应用程序的要求进行调整)。
*设置必要的环境变量。
*设置默认容器启动命令。
3. 创建“requirements.txt”文件以列出项目的所有Python 依赖项。在中国,清华镜用于加速下载。
#### 步骤3: 构建Docker 镜像
通过在“Dockerfile”所在目录中运行以下命令来构建Docker 映像。
docker build -t my_python_project 。
#### 步骤4: 运行Docker 容器
构建完成后,使用以下命令运行Python 应用程序:
docker run –name your_image_name -d -p 8000:8000 my_python_project
这里,“-d”参数表示后台运行,“-p 8000:8000”表示将容器的8000端口映射到主机的8000端口,“my_python_project”是镜像名称。
此时,您的Python 应用程序应该在Docker 容器中运行。您可以通过访问主机的端口来访问应用程序(请根据您的实际情况调整端口号)。
要查看Docker 容器的运行状态,您可以使用Docker CLI 提供的几个有用的命令。以下是一些基本命令及其用法。
#### 1.显示正在运行的容器
码头工人
此命令列出所有当前正在运行的容器。显示的信息包括容器ID、创建时间、使用的镜像、启动命令、状态、端口等。
#### 2. 显示所有容器(甚至是那些未运行的容器)
docker ps -a
使用“-a”或“–all”选项显示所有容器,无论其运行或停止状态如何。
#### 3.查看特定容器的日志
如果您想查看容器的输出(相当于容器内运行的应用程序的stdout/stderr),您可以使用:
docker log [容器ID 或名称]
将“[容器ID 或名称]”替换为容器的实际ID 或名称。
我们整理了数百道**【运维技术栈面试题】**,成为您运维面试的得力助手。这将帮助您在面试时不慌不忙,并为高质量的面试做好准备。付费报价!
这些面试问题范围从Shell 和MySQL 到K8s 和其他云原生技术堆栈。这些不仅适合刚刚进入行业的运维初学者,也适合您想要进一步进步的运维朋友。换工作以获得更高的薪水。 **
![](https://img-blog.csdnimg.cn/img_convert/ee027f3c9c7d5fba3a9fbb9d233051c4.png)
本次访谈集内容为
* **174 运维工程师面试题**
* **128道k8s面试题**
* **108 个shell 脚本面试问题**
* **200 个Linux 面试问题**
* **51 个Docker 面试问题**
* **35 个Jenkis 面试问题**
* **78 MongoDB 面试问题**
* **17 Ansible 面试问题**
* **60 个Dubbo 面试问题**
* **53 次卡夫卡访谈**
* **18道mysql面试题**
* **40 个nginx 面试题**
* **77 个Redis 面试问题**
* **28 守门员**
**总共1000多道面试题,内容丰富、信息丰富**
* **174 运维工程师面试题**
1.什么是运维?
2、运维人员在工作场所经常需要与操作人员进行交互。运营人员做什么工作?
3. 您目前有300台服务器,您如何管理它们?
4. 简要说明RAID0和Raid1raid5这两种工作模式的工作原理和特点。
5、LVS、Nginx、HAproxy有什么区别?
6. Squid、Varinsh、Nginx 有什么区别,你在工作中如何选择?
7.Tomcat和Resin有什么区别?
8.什么是中间件?
9、Tomcat中的8005、8009、8080这三个端口是什么意思?
10.什么是CDN?
11.什么是网站灰度发布?
12、请简单说明一下DNS域名解析的过程。
13.什么是RabbitMQ?
14.Keepalived如何工作?
15.描述LVS工作流程的三种模式。
16、mysql的innodb如何识别锁定问题以及mysql如何减少主从复制延迟?
工作中x和HAproxy有什么区别?
6. Squid、Varinsh、Nginx 有什么区别,你在工作中如何选择?
7.Tomcat和Resin有什么区别?
8.什么是中间件?
9、Tomcat中的8005、8009、8080这三个端口是什么意思?
10.什么是CDN?
11.什么是网站灰度发布?
12、请简单说明一下DNS域名解析的过程。
13.什么是RabbitMQ?
14.Keepalived如何工作?
15.描述LVS工作流程的三种模式。
16、mysql的innodb如何识别锁定问题以及mysql如何减少主从复制延迟?
17.如何重置mysql root密码?
以上关于部署#centos环境的相关内容来源于网络,仅供参考。相关信息请参见官方公告。
原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/91993.html