day14搭建博客系统项目

day14搭建博客系统项目

1、下载代码包
	[root@web02 opt]# git clone https://gitee.com/lylinux/DjangoBlog.git
	
2、使用pid安装软件
    [root@web02 DjangoBlog]# pwd
    /opt/DjangoBlog
    [root@web03 DjangoBlog]# yum install -y python3-devel mysql-devel
    [root@web03 DjangoBlog]# pip3 install -Ur requirements.txt -i https://pypi.douban.com/simple/
    
3、修改DjangoBlog/setting.py 修改数据库配置,如下所示:
ALLOWED_HOSTS = ['*']
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': os.environ.get('DJANGO_MYSQL_DATABASE') or 'djangoblog',
        'USER': os.environ.get('DJANGO_MYSQL_USER') or 'root',
        'PASSWORD': os.environ.get('DJANGO_MYSQL_PASSWORD') or '123456',
        'HOST': os.environ.get('DJANGO_MYSQL_HOST') or '172.16.1.51',
        'PORT': int(
            os.environ.get('DJANGO_MYSQL_PORT') or 3306),
        'OPTIONS': {
            'charset': 'utf8mb4'},
    }}

4、创建数据库
	MariaDB [(none)]> create database `djangoblog`;
	
5、数据库迁移
	[root@web03 DjangoBlog]# python3 manage.py makemigrations
		
6、创建超级用户
	[root@web03 DjangoBlog]# python3 manage.py createsuperuser
	
7、创建测试数据
	[root@web03 DjangoBlog]# python3 manage.py create_testdata
	
8、收集静态文件
	[root@web03 DjangoBlog]# python3 manage.py collectstatic --noinput
	[root@web03 DjangoBlog]# python3 manage.py compress --force
	
9、开始运行
	[root@web03 DjangoBlog]# python3 manage.py runserver 0.0.0.0:8005
	浏览器打开: 192.168.15.9:8005
	
10、Nginx 代理 Django
配置uwsgi
[root@web03 DjangoBlog]# cp /opt/linux/myweb_uwsgi.ini .
[root@web03 DjangoBlog]# vim myweb_uwsgi.ini 

[uwsgi]
# 端口号
socket            = :8005
# 指定项目的目录
chdir           = /opt/DjangoBlog
# wsgi文件路径
wsgi-file       = DjangoBlog/wsgi.py
# 模块wsgi路径
module          = DjangoBlog.wsgi
# 是否开启master进程
master          = true
# 工作进程的最大数目
processes       = 4
# 结束后是否清理文件
vacuum          = true

11、测试启动
    [root@web03 DjangoBlog]# uwsgi --ini myweb_uwsgi.ini
    [root@web03 DjangoBlog]# uwsgi -d --ini myweb_uwsgi.ini
    
12、设置配置文件
	[root@web03 conf.d]# vim python.conf 
	# 配置一个网站
server {
    # 监听端口
    listen 80;
    # 配置域名
    server_name meng.com;
    # 配置域名路径
    location / {
        # 加载nginx代理uwsgi的配置项
        include uwsgi_params;
        # 指定uwsgi的访问地址
        uwsgi_pass 127.0.0.1:8005;
        # uwsgi的超时时间
        uwsgi_read_timeout 2;
        # 自定义uwsgi代理项目的路径以及配置项
        uwsgi_param UWSGI_SCRIPT DjangoBlog.wsgi;
        # 指定Python项目的路径
        uwsgi_param UWSGI_CHDIR /root/DjangoBlog;
        # 索引文件
        index  index.html index.htm;
        # 客户端上传文件的最大值
        client_max_body_size 35m;
    }
}

13、测试
	[root@web03 DjangoBlog]# netstat -nutlp  # 查看端口是否起来
	域名解析:192.168.15.9  example.com
	浏览器输入:example.com

配置https

upstream meng {
    server 172.16.1.9:80;
}

server {
    listen 80;
    server_name meng.com;
    return 302 https://meng.com;
}

server {
    server_name meng.com;
    listen 443 ssl;

    ssl_certificate /etc/nginx/ssl_key/server.crt;
    ssl_certificate_key /etc/nginx/ssl_key/server.key;

    location / {
        proxy_pass http://meng;
        include proxy_params;
    }
}

http://192.168.15.5/

上一篇:排列和组合


下一篇:day14