Python3环境搭建(uWSGI+Django+Nginx+Python+MySQL)(3)

http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

access_log  /var/log/nginx/access.log  main;

sendfile            on;
    tcp_nopush          on;
    tcp_nodelay        on;
    keepalive_timeout  65;
    types_hash_max_size 2048;

include            /etc/nginx/mime.types;
    default_type        application/octet-stream;

# Load modular configuration files from the /etc/nginx/conf.d directory.
    # See #include
    # for more information.
    include /etc/nginx/conf.d/*.conf;

server {
    listen 80;
    server_name localhost;
    charset    utf-8;
    access_log      /var/log/nginx/nginx_access.log main;
    error_log      /var/log/nginx/nginx_error.log;
    client_max_body_size 75M;

location /static {
        alias /djproject/mysite/static;  #指定django的静态文件
        }

location / {
        include    /etc/nginx/uwsgi_params;  #加载uwsgi模块
        uwsgi_pass  127.0.0.1:9090;  #所有请求转到9090端口交给uwsgi处理
        }
    }

}

5、安装Django

#pip3 install django

#ln -s /usr/local/python356/bin/django-admin /usr/local/bin/django-admin

创建项目:

#django-admin startproject mysite

创建app:

#cd mysite/
#django-admin startapp app01

先建立个测试文件:

#cat settings.py
ALLOWED_HOSTS = ['192.168.146.139']  #添加本地IP,外网访问

#cat urls.py
from django.contrib import admin
from django.urls import path
from app01 import views  #导入app01视图
urlpatterns = [
    path('admin/', admin.site.urls),
    path('',views.index,name='index'),  #添加路由
]

#cat ../app01/views.py
from django.shortcuts import render
from django.http import HttpResponse

# Create your views here.

def index(request):    #添加视图函数
  return HttpResponse('hello world')

重新加载uwsgi:

#uwsgi --reload uwsgi.pid

访问:  能显示“hello world”说明环境部署成功了。

(1)配置Django模版文件的使用:

首先必须在项目的setting文件中配置templates模版文件的搜索路径;找到TEMPLATES项,在DIRS中写入模版搜索路径:

'DIRS': [os.path.join(BASE_DIR,'templates')],  #此处为项目目录下的templates

配置home路由,在视图中使用render渲染模版文件,然后建立模版文件进行测试。

#vim app01/views.py
def home(request):
  return render(request,'app01/home.html')

#vim mysite/urls.py
urlpatterns = [
    path('home/',views.home),
]

#mkdir -p templates/app01
#vim templates/app01/home.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>test</title>
</head>
<body>
<h1>this is test file</h1>
</body>
</html>

测试:

(2)配置djando静态文件加载

首先在django的项目文件中,打开setting.py,找到STATIC_URL填写搜索路径

#STATIC_URL = '/static/'  #在linux下这两种写法都可以,在windows系统下必须两种都要写上,不知何解!
STATICFILES_DIRS = (
        os.path.join(BASE_DIR,'static'),
)

#在模块中引入静态文件时,必须是/static,此静态文件在项目下面
<script src="https://www.linuxidc.com/static/jquery-3.3.1.js"></script>

6、MySQL安装配置

#下载二进制包安装
wget https://downloads.mysql.com/archives/get/file/mysql-5.5.32-linux2.6-x86_64.tar.gz
tar zxvf mysql-5.5.32-linux2.6-x86_64.tar.gz
mv mysql-5.5.32-linux2.6-x86_64 /usr/local/mysql-5.5.32
ln -s /usr/local/mysql-5.5.32 /usr/local/mysql
useradd -s /sbin/nologin -M mysql
mkdir /mysql/data -p
chown -R mysql.mysql /mysql/data
cd /usr/local/mysql
#添加配置文件和启动脚本
cp support-files/my-small.cnf /etc/my.cnf
cp support-files/mysql.server /etc/init.d/mysqld
#初始化数据库
./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/mysql/data/
echo $?

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/75f89ffef06c6c8f05a32037df413a36.html