Uwsgi Nginx Apache выберите опрос Epoll

 

uWSGI является веб - сервер , который реализует протокол WSGI, uwsgi, HTTP и других протоколов. Nginx роль в HttpUwsgiModule uWSGI обменивается с сервером.
Обратите внимание на WSGI / uwsgi / uWSGI различие между этими тремя понятиями.
WSGI является протоколом связи.
uwsgi протокол представляет собой линию вместо того , протокол связи , используемый в этой связи uWSGI данных сервера с другими сетевыми серверами.
UWSGI достигается uwsgi и WSGI два протокола веб - сервера.
Протокол сервера uwsgi uWSGI является собственным протоколом, который определяет тип передачи информации (типа информации), перед каждым uwsgi типа пакета , описанный для длины 4 байта в передаче информации, он сравнивается с WSGI две вещей.

 

В локальной виртуальной среде, корневой каталог проекта, выполнить команду , чтобы собрать все пакеты
пип замораживание> plist.txt с
помощью проекта разработки программного обеспечения по FTP хороший каталог для этого сервера
установки и создать виртуальную среду, если есть скачок этот шаг через
Sudo APT-GET-virtualenv установить Python
Python -m Venv 11_venv [имя виртуальной среды]

Работа в виртуальной среде, установить все необходимые пакеты
Source / 11_venv / бен / Активный
PIP установку -r plist.txt

Изменение settings.py файла
DEBUG = False
ALLOW_HOSTS = [ '*',] представляет доступ Ip к серверу

Запустите сервер, работает нормально, но не может загрузить статические файлы
1: uWSGI
uWSGI реализует все интерфейсы WSGI, быстрый, самовосстановления, разработчики и системные администраторы дружественный сервер
установки uWSGI
PIP установить uwsgi

Примечание (произошла ошибка установки): Пип установить uwsgi uwsgi ошибку установки
Если вы ранее модифицированную версию питона компьютера может не установить, что вызвано версией Python,
терминал ввод питоном, с помощью компьютера , чтобы увидеть , какую версию (я был python3 0,5)
затем установить 3.5 питона-DEV, вероятно , несколько минут
Sudo APT-получить установку libpython3.5-DEV

Выполненная снова
пункт установить uwsgi

Успешная установка
конфигурации uWSGI, uwsgi.ini новый файл в проекте, написать следующую конфигурацию
[uwsgi]
сокет = 127.0.0.1: порт (при использовании Nginx подключается с помощью разъема)
# = HTTP вне сети IP: порт (сделать веб - сервер напрямую, использовать HTTP)
Chdir = проект корневой каталог
WSGI-файл = проект каталога wsgi.py файла, относительно корня проекта каталог
Процессы = 4
Тем 2 =
Мастер = True
PidFile = uwsgi.pid
демоном = uswgi.log

我的配置参考
[uwsgi]
Гнездо = 10.212.63.20: 8000
# HTTP = 127.0.0.1: 8000
ChDir = / главная / Shihao / Рабочий стол / bushulianxi / test7
WSGI-файл = test7 / wsgi.py
процессы = 4
нити = 2
мастер = True
PidFile = uwsgi.pid
демон = uswgi.log

Начало: uwsgi --ini uwsgi.ini (должно быть выполнено в каталоге проекта, обратите внимание ини фронт два -)
Стоп: uwsgi --stop uwsgi.pid
рестарт: uwsgi --reload uwsgi.pid
Результаты: для просмотра сайта с помощью протокола HTTP работа, работает нормально, но статические файлы не могут загрузить
2: использовать Nginx
Nginx роль:
балансировка нагрузки: несколько серверов по очереди обработки запроса
отражение прокси: скрыть реальный сервер ,
реализующий архитектуру: клиент запрашивает Nginx, а затем Nginx запроса uwsgi, запустите Джанго питон код в рамочном
Nginx + uwsgi питона также может быть использован для кода для других веб - кадра не ограничивается Джанго
на официальный сайт , чтобы загрузить сжатый файл или команду Nginx крепления
Sudo APT-получить установку Nginx

Установленный по умолчанию в / USR / местные / Nginx / SBIN / директории (в моем / USR / SBIN под) ** Примечание: Лучше всего , чтобы ввести этот каталог выполнить команду **
Просмотр версию: Суд Nginx -v
старт: SUDO Nginx
остановки: Судо Nginx -s остановка
перезагрузка: Суда Nginx -s перезарядка
для просмотра результатов через браузер работает Nginx

Некоторое Примечание:
# Если Nginx не установлен в каталоге по умолчанию, вы можете найти Nginx каталог установки
Судо пс -ajx | Grep Nginx

# Nginx.conf Посмотреть профиль каталог (вы должны сначала войти в безопасном каталоге передачи)
Суд Nginx -t

# 80 Если порт занят, используйте команду , чтобы закрыть порт 80 занимаемой Программы
SUDO FUSER -k 80 / TCP

Указав uwsgi проекта: редактировать nginx.conf файл (в моем / и т.д. / под Nginx)
Судо ВИМ nginx.conf

Добавлен в новом сервере расположения точки входа IP uwsgi в порт
местоположение / {
заголовочного uwsgi_params; uwsgi всех параметров в
uwsgi_pass uwsgi IP - порта;
}

Примечание: оригинальный nginx.conf есть должны быть закомментированы две линии.
/etc/nginx/conf.d/*.conf включаемого;
включаемый / и т.д. / Nginx / сайты-Enabled / *;

Uwsgi.ini изменения файлов, запуск сокета, отключить HTTP
рестарт Nginx, uwsgi
результаты: Просмотр проекта в браузере, вы можете найти этот файл не загружается должным образом, то решить проблему статических файлов
3: статические файлы до
сих пор не может найти файл был теперь , наконец , решить
все статические файлы находятся в Nginx, и не идешь на запрос uwsgi
статической записи сконфигурирована Nginx, откройте файл конфа / nginx.conf, найдите сервер, добавить новое место
мЕСТОПОЛОЖЕНИЕ / статический {
Псевдоним / вар / WWW / test5 / статический /; # Примечание: адрес дается их случайным
}

Создание структуры каталогов на сервере "/ Var / ВСП / test5 /"
Кд / вар / в WWW
MkDir test5
кд test5
MKDIR статической
SUDO CHMOD 777 статической

Изменить settings.py файл
STATIC_ROOT = '/ вар / WWW / test5 / статический /'
STATIC_URL = '/ статический /'

Соберите все статические файлы в указанной директории static_root: питон manage.py collectstatic
На данный момент там можно найти статический файл / Var / WWW / test5 / статическую папка
рестарт Nginx, uwsgi

 

 

 

 

Старший транзит в выберите мультиплексирование Linux IO, преимущества и недостатки опроса Epoll из, выберите и Epoll и опрос недостатков.

一、select的缺点:

1、编写难度大

2、同时处理的文件描述符是有上限的

3、每次需要重新设定fd集合

4、性能会随用户的增多而效率降低

5、输入输出参数在一起
select的几大缺点:
(1)每次调用select,都需要把fd集合从用户态拷贝到内核态,这个开销在fd很多时会很大
(2)同时每次调用select都需要在内核遍历传递进来的所有fd,这个开销在fd很多时也很大
(3)select支持的文件描述符数量太小了,默认是1024

二、poll的缺点

poll是对select的一种改良,最突出的改良有两点:

1、文件描述符数量没有上限

2、将输入输出参数进行分离,不用每次设定

那么poll的缺点是:

poll中监听的文件描述符数目增多时:

1、和select一样,poll返回后,需要轮询pollfd来获取就绪的描述符

2、每次调用poll都需要大把大量客户端在一时刻可能只有很少的处于就绪状态,因此随着监视的描述符数量的增长,其效率也会线性下降。

三、epoll的优点:

1、文件描述符数目没有上限:通过epoll_ctl()来注册一个文件描述符,内核中使用红黑树的数据结构来管理所有需要监控的文件描述符。

2、基于事件就绪通知方式:一旦被监听的某个文件描述符就绪,内核会采用类似于callback的回调机制,迅速激活这个文件描述符,这样随着文件描述符数量的增加,也不会影响判定就绪的性能。

3、维护就绪队列:当文件描述符就绪,就会被放到内核中的一个就绪队列中,这样调用epoll_weit获取就绪文件描述符的时候,只要取队列中的元素即可,操作的时间复杂度恒为O(1)。

4、关于有些地方说:epoll还有内存映射机制,即内核将就绪队列通过mmap的方式映射到用户态,避免了拷贝内存这样的额外性能开销。关于这一点,我并不认为这是epoll的优点,因为他和epoll底层工作方式相悖。mmap是一种共享内存,但是我们都知道共享内存中一旦有数据,用户就能直接看到,并且使用,但是epoll_wait在取数据时传入了一块缓存区这是和贡献内存相悖的其一;其二是操作系统并不相信任何人,尤其是用户,它不会让用户直接去取内核中的数据。

 


文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的固态硬盘)或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。文件系统由三部分组成:文件系统的接口,对对象操纵和管理的软件集合,对象及属性。从系统角度来看,文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取,当用户不再使用时撤销文件等。


UTF-8 国际组织 3字节
GBK 防本土 2字节

哈希密码:密钥 加颜 不可逆算法

put 修改全部
patch 指定修改
get
post
head

 

рекомендация

отwww.cnblogs.com/wyf2019/p/10959657.html