Unix域套接字简述及使用

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

猜你喜欢

转载自blog.csdn.net/qq_38900565/article/details/104683234
今日推荐