linux+python3.6.8+uwsgi+postgresql+django部署web服务器

编程入门 行业动态 更新时间:2024-10-27 00:30:35

linux+python3.6.8+uwsgi+postgresql+django部署web<a href=https://www.elefans.com/category/jswz/34/1771423.html style=服务器"/>

linux+python3.6.8+uwsgi+postgresql+django部署web服务器

linux+python3.6.8+uwsgi+postgresql+django部署web服务器

  • 1.查看系统信息
  • 2.配置postgresql数据库
    • 2-1.安装postgresql数据库
    • 2-2.设置密码
    • 2-3.修改postgresql数据库配置文件
  • 3.Python虚拟环境
    • 激活虚拟环境
    • 安装python插件
    • 创建Django项目
    • 配置Django

1.查看系统信息

我这是使用华为云服务器

cat /etc/redhat-release
# CentOS Linux release 7.9.2009 (Core)
cat /proc/version
# Linux version 3.10.0-1160.92.1.el7.x86_64 (mockbuild@kbuilder.bsys.centos) 
# (gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) ) #1 SMP Tue Jun 20 11:48:01 UTC 2023

2.配置postgresql数据库

2-1.安装postgresql数据库

# 安装yum源
yum install -y .noarch.rpm
# 安装postgresql 12
yum install -y postgresql12-server
# 数据库初始化
/usr/pgsql-12/bin/postgresql-12-setup initdb
# 设置开机自启动数据库
systemctl enable postgresql-12
# 启动数据库
systemctl start postgresql-12
# 重启数据库
systemctl restart postgresql-12
# 开闭数据库
systemctl stop postgresql-12

2-2.设置密码

# 设置密码方便 Navicat登录 等
su postgres
$ psql
psql (12.16)
Type "help" for help.
# 设置 用户postgres 的登录密码
postgres=# ALTER USER postgres WITH PASSWORD '密码';

2-3.修改postgresql数据库配置文件

vim /var/lib/pgsql/12/data/postgresql.conf    # 完毕如下图
# 第60行  把‘localhost’ 改为 ‘*’

vim /var/lib/pgsql/12/data/pg_hba.conf   # 完毕如下图
# 配置后可以使用本地Navicat登录

3.Python虚拟环境

yum -y install python3-devel
# 安装插件
python3 -m pip install virtualenv
python3 -m pip install virtualenvwrapper
# 创建虚拟环境目录
mkdir ~/.virtualenvs
# 配置虚拟环境目录
vim ~/.bashrc   # 完毕如下图# 在末尾添加如下内容
export WORKON_HOME=$HOME/.virtualenvs    # 虚拟环境目录路径
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
source /usr/local/bin/virtualenvwrapper.sh
# virtualenvwrapper.sh文件不知道全路径可以使用
# find -name / source ~/.bashrc 

# 创建虚拟化 env368py
mkvirtualenv -p /usr/bin/python3 env368py
ll ~/.virtualenvs/   # 完毕如下图

激活虚拟环境

source ~/.virtualenvs/env368py/bin/activate
(env368py) [root@localhost ~]#  # (env368py) 使用的虚拟环境
# 退出虚拟环境
deactivate

安装python插件

# 在虚拟环境下。安装Django == 3.1.1 和 uWSGI  
pip install django==3.1.1
# uWSGI中间件
pip install uWSGI  # 如果报错可能是python3-devel没安装
# yum -y install python3-devel
# python 连接 postgresql数据库中间件
pip install psycopg2

创建Django项目

cd /opt
django-admin startproject mysite
cd ./mysite
mkdir static
mkdir logs
cd ./mysite
mkdir settings
cp settings.py setings/test.py     # 测试服务器配置文件
cp settings.py setings/local.py    # 本地开发配置文件
cp settings.py setings/live.py     # 正式服务器配置文件
cd /opt/mysite

配置Django

vim /opt/mysite/mysite/settings/test.py  # 重新定义配置文件
# 数据连接
DATABASES = {'default': {'ENGINE': 'django.db.backends.postgresql_psycopg2','NAME': 'test','USER': 'postgres','PASSWORD': '填写上面数据库密码','HOST': '127.0.0.1','PORT': '5432'}
}
# 模板目录
TEMPLATES = [{'BACKEND': 'django.template.backends.django.DjangoTemplates','DIRS': [os.path.join(BASE_DIR, 'templates')]  # django=3.2.27时 必须‘../templates’,以为路径不对,'APP_DIRS': True,'OPTIONS': {'context_processors': ['django.template.context_processors.debug','django.template.context_processors.request','django.contrib.auth.context_processors.auth','django.contrib.messages.context_processors.messages',],},},
]
# 静态文件
STATICFILES_DIRS = [os.path.join(BASE_DIR, '../statics'),
]
# 日志
ERROR_LOG = os.path.join(BASE_DIR, 'logs', 'error.log')
INFO_LOG = os.path.join(BASE_DIR, 'logs', 'mysite.log')
LOGGING = {'version': 1,'disable_existing_loggers': False,'formatters': {   # 日志器格式'verbose': {'format': '{levelname} {asctime} {module} {process:d} {thread:d} {message}','style': '{',},'simple': {'format': '{asctime}- {levelname} {message}','style': '{',},'standard': {'format': '%(asctime)s [%(module)s:%(funcName)s] [%(levelname)s]- %(message)s'}  #日志格式},'handlers': {     # 日志器处理器'console': {'level': 'INFO','class': 'logging.StreamHandler','formatter': 'simple'},'default': {'level': 'INFO','class': 'logging.handlers.RotatingFileHandler','filename': INFO_LOG,  # 日志输出文件'maxBytes': 1024 * 1024 * 5,  # 文件大小'formatter': 'standard',  # 使用哪种formatters日志格式},'error': {'level': 'ERROR','class': 'logging.handlers.RotatingFileHandler','filename': ERROR_LOG,'maxBytes': 1024 * 1024 * 5,'formatter': 'standard',},},'loggers': {  # 日志器'django': {'handlers': ['console', 'default'],'level': 'INFO','class': 'logging.FileHandler','filename': INFO_LOG,'propagate': True,},'django.request': {'handlers': ['default'],'level': 'ERROR','propagate': False,},}
}

更多推荐

linux+python3.6.8+uwsgi+postgresql+django部署web服务器

本文发布于:2023-11-17 06:38:20,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1639499.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:服务器   linux   uwsgi   web   django

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!