Linux入门第三讲(完结)

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: Linux入门第三讲(完结)

准备工作


  • 将项目代码拉到linux本地环境
  • 安装环境
  • 虚拟机当中有python冲突
  • 自己安装一个新版本python
apt-get install python3.7
apt-get install python3.7-venv
python3.7 -m venv venv
  • 激活虚拟环境
source venv/bin/activate
  • 安装依赖
pip install -r requirements.txt

Nginx


  • Nginx
    高性能http服务器反向代理服务器.
  • 为什么使用Nginx

一个域名对应的只有一个IP, 一个IP对应一台服务器, 一台服务器可以启动多个服务.

那么我们怎么让服务器知道当前的请求应该由哪个服务来处理呢?

统一管理当前服务器内开启的对外暴露服务.

  • 减少了对外暴露的端口, 隐藏真实服务地址, 增加了安全性.

安装nginx

apt-get install nginx

启动和关闭nginx

service nginx start
service nginx restart
service nginx stop

127.0.0.1, 0.0.0.0, localhost的区别

  • localhost
    localhost就是一个默认的本机域名, 你可以手动对其进行配置
  • 127.0.0.1
  • 回环地址, 127开头的地址是一类向自身发送通信的特殊地址
  • 0.0.0.0
    代表本机所有IP地址, 如果你想让外部可以访问到你的服务, 则需要将服务绑定到0.0.0.0地址上.

nginx部署静态资源

  • 修改nginx配置文件
vim /etc/nginx/sites-available/default
// 添加以下配置
location /static/ {
        alias /var/static/;     // 当前静态资源保存的路径
        autoindex on;
        add_header Cache-Control private;
        expires 30d;
        }
  • 重启nginx
  • 配置静态资源的好处
    前后端分离, 静态资源的问题可以由前端自由管理和控制.

uWSGI


https://uwsgi-docs.readthedocs.io/en/latest/
  • 什么是uWSGI

WSGI只是一种协议, 用来解决一个请求到服务端, 服务端与内部应用的交互.

  • uWSGI是一个项目, 目的是通过统一的API和配置风格, 集成应用服务器, 代理, 进程管理, 监控等功能
  • 为什么需要uWSGI
  • 性能问题: 通过python manage.py runserver命令来启动的是单进程多线程的应用.
  • uWSGI可以更好地控制并发

安装uWSGI

# 在创建虚拟环境前和环境后各第一时间安装一次, 避免出错.
pip3 install uwsgi

配置uWSGI

https://uwsgi-docs.readthedocs.io/en/latest/Configuration.html
  • 在当前项目下创建uwsgi.ini
  • 添加以下内容
[uwsgi]
# 项目本地服务地址
http=127.0.0.1:5000
# 观察项目得运行情况
stats=127.0.0.1:5100
# 项目的虚拟环境
virtalenv=/home/tunan/my_blog_2/venv
# 项目的根目录
chdir=/home/tunan/my_blog_2
# 绑定wsgi协议
wsgi-file=myblog/wsgi.py
# 设置进程数, 跟cpu一致即可.
processes=12
# 线程数目
threads=4
# 导出的log日志
logto=/var/log/myblog.log
# 如果django项目中使用了STATIC, 就要作静态资源的映射
static-map=/static=static
  • 启动uwsgi
uwsgi --ini uwsgi.ini &
  • 在nginx中做代理转发
location /myblog/ {
  proxy_pass http://127.0.0.1:5000;
}
* 代理转发之后, http://127.0.0.1:5000的外部地址是http://域名/myblog.  
  • 解决url匹配的问题
url也要做相应的修改, 将myblog添加到最高级路径
  • 查看nginx日志
cd /var/log/nginx
  • access.log
    访问日志
  • error.log
    错误日志
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
3月前
|
机器学习/深度学习 安全 网络协议
Linux防火墙iptables命令管理入门
本文介绍了关于Linux防火墙iptables命令管理入门的教程,涵盖了iptables的基本概念、语法格式、常用参数、基础查询操作以及链和规则管理等内容。
242 73
|
1月前
|
Unix Linux Shell
linux入门!
本文档介绍了Linux系统入门的基础知识,包括操作系统概述、CentOS系统的安装与远程连接、文件操作、目录结构、用户和用户组管理、权限管理、Shell基础、输入输出、压缩打包、文件传输、软件安装、文件查找、进程管理、定时任务和服务管理等内容。重点讲解了常见的命令和操作技巧,帮助初学者快速掌握Linux系统的基本使用方法。
73 3
|
2月前
|
机器学习/深度学习 Linux 编译器
Linux入门3——vim的简单使用
Linux入门3——vim的简单使用
61 1
|
2月前
|
Linux Shell Windows
Linux入门1——初识Linux指令
Linux入门1——初识Linux指令
36 0
Linux入门1——初识Linux指令
|
6月前
|
存储 Linux Android开发
Volatility3内存取证工具安装及入门在Linux下的安装教程
Volatility 是一个完全开源的工具,用于从内存 (RAM) 样本中提取数字工件。支持Windows,Linux,MaC,Android等多类型操作系统系统的内存取证。针对竞赛这块(CTF、技能大赛等)基本上都是用在Misc方向的取证题上面,很多没有听说过或者不会用这款工具的同学在打比赛的时候就很难受。以前很多赛项都是使用vol2.6都可以完成,但是由于操作系统更新,部分系统2.6已经不支持了,如:Win10 等镜像,而Volatility3是支持这些新版本操作系统的。
|
2月前
|
存储 数据可视化 Linux
Linux 基础入门
Linux 基础入门
|
2月前
|
Linux Go 数据安全/隐私保护
Linux入门2——初识Linux权限
Linux入门2——初识Linux权限
30 0
|
4月前
|
Java Shell Linux
【Linux入门技巧】新员工必看:用Shell脚本轻松解析应用服务日志
关于如何使用Shell脚本来解析Linux系统中的应用服务日志,提供了脚本实现的详细步骤和技巧,以及一些Shell编程的技能扩展。
66 0
【Linux入门技巧】新员工必看:用Shell脚本轻松解析应用服务日志
|
4月前
|
存储 Ubuntu Linux
Linux基础入门
Linux基础入门
33 1
|
4月前
|
Ubuntu Linux Shell
Linux 终端入门
Linux 终端入门
43 0