开发者社区> Loading_create> 正文

Linux入门第三讲(完结)

简介: 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
    错误日志

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
《冬季实战营第二期:Linux操作系统实战入门》电子版地址
《冬季实战营第二期:Linux操作系统实战入门》此本电子手册将提供一台配置了Aliyun Linux 2的ECS实例(云服务器)。您可以参考本教程学习Linux系统中的文本编辑工具Vim以及文本处理命令。
23 0
把书读薄-Linux入门基础
把书读薄-Linux入门基础
22 0
【操作系统入门到成神系列 七】Linux 内核 VS Window 内核
【操作系统入门到成神系列 七】Linux 内核 VS Window 内核
37 0
Linux入门
Linux所有文件都在一个根目录下,Windows的顶级目录则是各个盘符; Linux中一个命令就是一个程序,包含选项和参数; Linux命令的选项可以自由搭配,以`-`为前缀,由`[]`标记的选项或参数为:[可选,非必填]
53 0
【Linux】Linux入门与目录结构
【Linux】Linux入门与目录结构
33 0
计算机视觉-图像处理入门(一):linux(ubuntu)配置Openface+测试
计算机视觉-图像处理入门(一):linux(ubuntu)配置Openface+测试
64 0
+关注
Loading_create
天津20级大三在读一枚,有问题请私信联系。
文章
问答
文章排行榜
最热
最新
相关电子书
更多
Decian GNU/Linux安全合规之路
立即下载
从 Linux 系统内核层面来解决实际问题的实战经验
立即下载
冬季实战营第二期:Linux操作系统实战入门
立即下载