diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b3c61fe --- /dev/null +++ b/.gitignore @@ -0,0 +1,87 @@ +# Python虚拟环境 +venv/ +env/ +.venv/ + +# 数据库文件 +db.sqlite3 +*.db +*.sqlite + +# 媒体文件 +media/ + +# 静态文件(生产环境) +static/ + +# 日志文件 +logs/ +*.log + +# 报告文件 +reports/ + +# 编译的Python文件 +*.pyc +__pycache__/ + +# 临时文件 +*.swp +*.swo +*~ +.DS_Store +Thumbs.db + +# 环境变量文件 +.env +.env.local +.env.*.local + +# IDE配置文件 +.idea/ +.vscode/ +*.sublime-project +*.sublime-workspace + +# Gunicorn套接字文件 +gunicorn.sock + +# 系统文件 +*.pid +*.seed +*.pid.lock + +# 测试覆盖率报告 +htmlcov/ + +# tox环境 +.tox/ +.nox/ +.coverage +.coverage.* +.cache + +# 构建文件 +build/ +dist/ +*.egg-info/ + +# 其它临时文件 +*.bak +*.tmp +*.old + +# Docker相关 +.dockerignore +Dockerfile + +# Nginx相关 +nginx.conf +nginx.conf.default + +# Supervisor相关 +supervisor.conf +*.ini + +# 日志目录 +/var/log/diary-family/ \ No newline at end of file diff --git a/README.md b/README.md index d3db2a2..55b2082 100644 --- a/README.md +++ b/README.md @@ -167,9 +167,31 @@ nano /var/www/diary-family/gunicorn_config.py 内容如下: ```python -bind = "127.0.0.1:8000" +# Gunicorn配置文件 + +# 使用Unix套接字连接(替代TCP套接字) +bind = "unix:/var/www/diary-family/gunicorn.sock" + +# 工作进程数量 workers = 3 + +# 设置Django设置模块 django_settings_module = "diary_family.settings" + +# 工作进程类型 +worker_class = "sync" + +# 超时时间 +timeout = 30 + +# 日志级别 +loglevel = "info" + +# 访问日志 +accesslog = "/var/log/diary-family/access.log" + +# 错误日志 +errorlog = "/var/log/diary-family/error.log" ``` ### 5. 配置Supervisor @@ -280,7 +302,7 @@ server { } location / { - proxy_pass http://127.0.0.1:8000; + proxy_pass http://unix:/var/www/diary-family/gunicorn.sock; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; @@ -307,10 +329,13 @@ sudo systemctl restart nginx ```bash # 创建必要的目录 -sudo mkdir -p /var/www/diary-family/media /var/www/diary-family/logs /var/www/diary-family/reports +sudo mkdir -p /var/www/diary-family/media /var/www/diary-family/logs /var/www/diary-family/reports /var/log/diary-family # 设置目录权限 sudo chown -R username:username /var/www/diary-family/media /var/www/diary-family/logs /var/www/diary-family/reports + +# 设置日志目录权限 +sudo chown -R username:www-data /var/log/diary-family ``` ### 8. 配置防火墙 diff --git a/gunicorn_config.py b/gunicorn_config.py new file mode 100644 index 0000000..0f49031 --- /dev/null +++ b/gunicorn_config.py @@ -0,0 +1,25 @@ +# Gunicorn配置文件 + +# 使用Unix套接字连接(替代TCP套接字) +bind = "unix:/var/www/diary-family/gunicorn.sock" + +# 工作进程数量 +workers = 3 + +# 设置Django设置模块 +django_settings_module = "diary_family.settings" + +# 工作进程类型 +worker_class = "sync" + +# 超时时间 +timeout = 30 + +# 日志级别 +loglevel = "info" + +# 访问日志 +accesslog = "/var/log/diary-family/access.log" + +# 错误日志 +errorlog = "/var/log/diary-family/error.log" \ No newline at end of file