专栏首页python3基于django的个人博客网站建立(六)

基于django的个人博客网站建立(六)

基于django的个人博客网站建立(六)

前言

今天主要完成的是项目在腾讯云服务器上ubuntu16.04+django+mysql+uwsig+nginx的部署过程 目前可以通过此处点击访问

主要内容

按照步骤一步一步说

1.python环境的安装与pip的安装

这里没有采用虚拟环境,是把项目直接运行的,所以要先配置安装好python3,以及使用pip安装相应需要的库,我的项目需要安装django,markdown,pymysql

2.把项目文件从本地放到服务器上

我的项目文件有上传到github,所以直接在服务器上clone下来,后期有修改也可以拉取下来,同时也把django项目中setting中的debug模式关掉,最后还要记得把migrations文件中迁移生成的py文件也删除掉,因为我的数据库写项目时用的是本地的数据库,那么服务器上的数据库是新建的,所以需要重新迁移生成表,当然如果之前就使用的是服务器上的数据库就不用再修改了,直接用和原来一样就可以的。

3.配置数据库

首先要安装mysql:

sudo apt-get install mysql-server
sudo apt install mysql-client
sudo apt install libmysqlclient-dev

然后进入数据库创建myblog数据库,这里要保证字符集是utf8,不然存储不了中文字符

CREATE DATABASE myblog DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

接下来

python3 manage.py makemigrations
python3 manage.py migrate

就可以了

4.简单测试

此时可以通过在服务器上运行来测试下是否能在本地通过ip和端口访问到 运行

python3 manage.py runserver 0.0.0.0:8000 --insecure

这里的—insecure参数是为了在非debug模式下获取到静态文件 如果成功的话,就以及可以在本地通过ip:8000访问到了

5.配置uwsgi

安装uwsgi

sudo apt-get install build-essential python-dev
sudo pip3 install uwsgi

然后在manage.py同级目录下建立my_uwsgi.ini文件(名字随便起的) 文件中存储:

[uwsgi]
# uwsgi监听的socket,一会儿配置Nginx会用到
socket = 127.0.0.1:8000
# 在app加载前切换到该目录,设置为Django项目根目录
chdir           = /home/ubuntu/github/myBlog/myBlog
# 加载指定的python WSGI模块,设置为Django项目的wsgi文件
module          = myBlog.wsgi
# 启动一个master进程来管理其他进程
master          = true
# 工作的进程数
processes       = 4
# 每个进程下的线程数量
threads = 2
# 当服务器退出的时候自动删除unix socket文件和pid文件
vacuum          = true
# 使进程在后台运行,并将日志打到指定的日志文件或者udp服务器
daemonize = /home/ubuntu/github/myBlog/myBloguwsgi.log

6.配置nginx

安装nginx

sudo apt-get install nginx

测试nginx:

/etc/init.d/nginx start

此时通过访问http://IP 可以看到welcome to nginx 然后修改nginx的配置文件 sudo vim /etc/nginx/nginx.conf 在http内加入下面的内容:

server {
    listen         8888; # 设置监听端口号
    server_name    XXX.XXX.XXX.XXX; # 设置对外访问入口,可以是域名可以是IP地址,我设置的是IP 
    charset        UTF-8;  # 设置访问的语言编码
    access_log     /var/log/nginx/myBlog_access.log; # 访问日志记录
    error_log      /var/log/nginx/myBlog_error.log;  # 错误日志记录
    location / {   # 设置虚拟主机的基本信息
        include uwsgi_params;
        uwsgi_pass 127.0.0.1:8000; # 刚才uwsgi设置的socket
        uwsgi_read_timeout 2;
    }   
    location /static {   # 静态文件设置,nginx自己处理
        expires 7d;      # 过期时间
        alias /home/ubuntu/github/myBlog/myBlog/statics/;  # 项目静态文件地址
     }
 }

7.正式启动

在项目根目录下执行

uwsgi --ini myBlog_uwsgi.ini

然后执行

/etc/init.d/nginx restart

此时通过访问http://ip:8888即可访问项目了

总结

项目的部署基本完成,我也弄了个域名,正在备案,由于域名的所有者名字的英文名称不是中文名的汉语拼音,所以还得修改,又得多拖几天了。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • centos7 配置 uwsgi 系统

    背景生产环境中采用nginx + uwsgi + django 来部署web服务,这里需要实现uwsgi的启动和停止,简单的处理方式可以直接在命令行中启动和ki...

    py3study
  • Python3+django+nginx

    1 环境介绍和准备 Python3+django+nginx+uwsgi使用场景部署

    py3study
  • nginx+uwsgi部署django项

      (i)pycharm-->Tools-->Run manage.py Task

    py3study
  • nginx uwsgi flask相关配置

    在 /home/download下下载压缩包 wget https://nginx.org/download/nginx-1.12.2.tar.gz 解压缩

    从今若
  • nginx + uwsgi + django configration

    readme
  • centos7.5 部署flask+nginx+uwsgi+python3

    ## uwsgi [uwsgi] master = true max-requests = 6000 processes = 6 threads = ...

    用户2337871
  • 使用docker部署Django项目步骤

    GH
  • nginx配置文件 原

    注意: 如果配置中使用的不是nginx自带变量,需要配置变量文件,并在调用过程中声明。

    阿dai学长
  • uwsgi+nginx项目部署

    网站的访问量越来越大,服务器的服务模式也得进行相应的升级,比如分离出数据库服务器、分离出图片作为单独服务,这些是简单的数据的负载均衡,将压力分散到不同的机器上。...

    py3study
  • Oracle数据库的王位不保?

    谁能将Oracle拉下马?这样故事每天都在上演,从SAP发布HANA内存数据库开始,挑战Oracle数据库的王座就从未停止,今天再次有媒体爆出亚马逊、Sales...

    人称T客

扫码关注云+社区

领取腾讯云代金券