当前位置: 首页 > news >正文

debian 部署nginx https

我是flask 处理请求单进程, 差点意思 , 考虑先flask 在往下走

一:安装nginx

因为我是debian 系统,所以我的建议是直接

sudo apt-get install nginx

你也可以选择在官网下载, 但是我搭建ssl 的时候安装openssl非常的麻烦, 好想nginx 和 openssl 的版本要一致, 又不能使用yum, …
在这里插入图片描述
输入Y
在这里插入图片描述
这样就是安装好了
因为是默认的所以
你的程序应该在

/usr/sbin

里 如果没有 输入ps -ef | grep nginx 绿框里就是所在位置
在这里插入图片描述
配置文件在

/etc/nginx/

里如果没有 nginx -t, 绿框里就是所在位置
在这里插入图片描述

访问ip 默认80端口 就可以看见下面的页面了
在这里插入图片描述

二:配置

直接去nginx.conf 开始配置
在 http 那个字典下 添加你的server 配置

server {listen       8004;server_name  localhost;access_log  针对这个接口存放文件的路径(一定要有);location / {proxy_pass   http://ip:端口号/;  (P1注释)}error_page  404              /404.html;error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}

P1: 我前后端是没有分离的。所以是这么写, 如果前后端分离 ,要设置好调用的位置 例如:

location /static {root /usr/by3.0/;}

三:https

搞https 之前你先要有2个文件。
一个是 .crt 另一个是 .key。 也有课可能是 .pem.key文件
如果要是 某某云可以直接申请。具体流程我不清楚
将这俩个文件放到你觉得你能找到的位置
例如 :/opt/ssl_file/
下面这个写法我要没记错是版本小于15 才可以, 切记切记

server {#监听443端口listen 443;#你的域名server_name 域名; ssl on;#ssl证书的pem文件路径ssl_certificate  /opt/ssl_file/xxx.crt;#ssl证书的key文件路径ssl_certificate_key /opt/ssl_file/xxx.key;location / {proxy_pass  http://ip:端口/;}}server {listen 8002;server_name 域名;#将请求转成httpsrewrite ^(.*)$ https://$host$1 permanent;}}

这样就可以了


四:操作nginx

1、查看nginx安装目录

输入命令

ps -ef | grep nginx

返回结果包含安装目录

在这里插入图片描述

2、查看nginx.conf配置文件目录

输入命令

nginx -t

返回结果包含配置文件目录
在这里插入图片描述

3、启动

启动nginx系统方式:

(1)命令

nginx -c /usr/local/nginx/conf/nginx.conf

说明:-c 参数指定运行nginx系统的自定义配置文件。
若加:使用自定义配置文件。实例请参见下文停止nginx系统的方式贴图。

若不加:使用默认的nginx.conf(一般位于/usr/local/conf/nginx.conf,具体以实际情况为准)

(2)shell脚本

新建start.sh文件,输入内容:

nginx -p pwd/… -c conf/nginx.conf

需要启动时,执行./start.sh 即可

4、停止

关闭nginx系统方式:

(1)命令

nginx启动后,可以使用-s参数向nginx管理进程(即master进程)发送信号来控制nginx

nginx -s signal

其中,signal可以是以下值:

[1] stop:快速关闭

[2] quit:安全关闭

[3] reload:重载配置文件

[4] reopen:重新打开一个log文件,主要用于日志切割

注意:
1.quit信号,通知nginx等待worker进程处理完当前的请求后退出,此命令只能由启动nginxlinux账户来执行。

2.reload信号,通知nginx重新载入配置文件nginx.conf。 除了使用reload外,nginx只会在启动时载入一次配置文件,之后对配置文件的修改不会实时对已经运行的nginx进程生效。

linuxkill命令也可以达到相同的作用,假设nginxpid123456,那么 kill -s QUIT 123456kill -s HUP 123456 这两条命令和前面quit、reload的作用相同。

(2)shell脚本

新建stop.sh文件,输入内容:

nginx -p pwd/… -c conf/nginx.conf -s quit

需要关闭系统时,执行./stop.sh即可

5、重载配置

重新加载配置文件

(1)命令

nginx -s reload

注意:reload重新加载的配置,仍为启动nginx系统时运行的配置文件(应用场景:可能会因业务需求调整,对配置文件做修改,估需重新加载之,也称热部署)

(2)shell脚本

新建reload.sh文件,输入内容:

nginx -p pwd/… -c conf/nginx.conf -s reload
需要重新加载配置文件时,执行./reload.sh即可。

6、验证配置

不验证 配置出问题了, 线上就糟糕了 同志

验证配置文件方式

(1)命令

验证默认配置文件

nginx -t

验证自定义配置文件

nginx -t -c /home/test/conf/nginx.conf

(2)shell脚本

新建testconf.sh,输入内容:

nginx -p pwd/… -c conf/nginx.conf -t

需要验证配置文件时,执行./testconf.sh即可。

http://www.lryc.cn/news/23584.html

相关文章:

  • SQL 层功能改进 - lookupJoin 的优化
  • 动态规划:鸣人的影分身
  • 如何为三星active2手表安装自己DIY的表盘
  • Android 项目必备(四十二)-->Android 多窗口模式
  • OpenHarmony的未来和如何做好一个开源社区
  • 二叉搜索树实现
  • 解决Spring Data Jpa 实体类自动创建数据库表失败问题
  • Elasticsearch:创建一个简单的 “你的意思是?” 推荐搜索
  • urllib之ProxyHandler代理以及CookieJar的cookie内存传递和本地保存与读取的使用详解
  • 华为造车锚定智选模式, 起点赢家赛力斯驶入新能源主航道
  • [oeasy]python0096_游戏娱乐行业_雅达利_米洛华_四人赛马_影视结合游戏
  • 使用python测试框架完成自动化测试并生成报告-实例练习
  • JavaWeb 实战 01 - 计算机是如何工作的
  • 线性代数学习-1
  • 人工智能写的十段代码,九个通过测试了
  • 巴塞尔问题数值逼近方法
  • 【深度学习环境】Docker
  • 基于vscode开发vue项目的详细步骤教程 2 第三方图标库FontAwesome
  • 今天面了个腾讯拿25K出来的软件测试工程师,让我见识到了真正的天花板...
  • OSG三维渲染引擎编程学习之六十九:“第六章:OSG场景工作机制” 之 “6.9 OSG数据变量”
  • Tektronix泰克TDP3500差分探头3.5GHz
  • 轻松实现内网穿透:实现远程访问你的私人网络
  • MySQL长字符截断
  • python计算量比指标
  • 下拉框推荐-Suggest-SUG
  • Nmap的几种扫描方式以及相应的命令
  • Qt::QOpenGLWidget 渲染天空壳
  • 谷歌搜索技巧大全 | 谷歌高级搜索语法指令
  • JAVA开发(JAVA垃圾回收的几种常见算法)
  • 你还不会用CAD一键布置停车位?赶紧学起来!