1. Unix域套接字是什么?
是进程间通信(IPC)的一种方法
是可靠的一种IPC通信,是POSIX标准的一个组件
只能用于同一主机间的通信
2. 网络套接字 VS Unix域套接字
3. Unix套接字的使用
3.1 部署Nginx + uWSGI服务【基础要求】
3.1.1.创建uWSGI启动文件
[root@node django_deployment]# cat django-uwsgi-sock.ini
[uwsgi]
chdir = /home/hhx/deployment/django_deployment
module = django_deployment.wsgi
# http-socket = :8000
socket = /usr/local/nginx/logs/django.sock
master = True
processes = 1
threads = 4
vacuum = True
# backend run uwsgi, set log-size 1G
daemonize = %(chdir)/log/uwsgi-sock.log
log-maxsize = 1073741824
pidfile = %(chdir)/pid/uwsgi-sock.pid
[root@node django_deployment]# uwsgi --ini django-uwsgi-sock.ini
3.1.2.修改Nginx配置文件
[root@node django_deployment]# pwd
/home/hhx/deployment/django_deployment
[root@node django_deployment]# cd /usr/local/nginx/conf/
[root@node django_deployment]# cat /usr/local/nginx/conf/nginx.conf | grep -v ^$ | egrep -v '#'
user nobody;
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
include uwsgi_params;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
upstream uwsgi {
server unix:///usr/local/nginx/logs/django.sock;
}
server {
listen 80;
server_name .python3.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name .python3.com;
charset utf-8;
ssl_certificate cert/cert.pem;
ssl_certificate_key cert/cert.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
access_log logs/https-uwsgi.log;
location / {
uwsgi_pass uwsgi;
}
location /static {
alias static;
}
}
}
[root@node django_deployment]# nginx -s reload
3.1.3 测试
DEBUG终端
[root@node django_deployment]# tail -f /usr/local/nginx/logs/error.log
终端A
[root@node django_deployment]# tail -f /usr/local/nginx/logs/https-uwsgi.log
终端B
[root@node django_deployment]# tail -f /home/hhx/deployment/django_deployment/log/uwsgi-sock.log
Web访问python3.com