基于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即可访问项目了

总结

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

基于django的个人博客网站建立(六)的更多相关文章

  1. 基于django的个人博客网站建立(三)

    基于django的个人博客网站建立(三) 前言 网站效果可点击这里访问 今天主要完成的是文章在页面的显示以及评论,留言 具体内容 首先我希望主页面是显示我的所有文章,于是在主页面的视图函数中返回了所有 ...

  2. 基于django的个人博客网站建立(二)

    基于django的个人博客网站建立(二) 前言 网站效果可点击这里访问 今天主要完成后台管理员登录的状态以及关于文章在后台的处理 具体内容 首先接上一次内容,昨天只是完成了一个登录的跳转,其他信息并没 ...

  3. 基于django的个人博客网站建立(一)

    基于django的个人博客网站建立(一) 前言 网站效果可点击这里访问 之前基于hexo和github page搭建过一个博客网页,后来由于换了个系统,感觉弄的有点麻烦也就没有再去管它了,最近偶然从网 ...

  4. 基于django的个人博客网站建立(七)

    基于django的个人博客网站建立(七) 前言 网站效果可点击这里访问 这次在原来的基础上添加或修改一些小功能 具体内容 1.代码高亮 在原来的blog-details.html页面添加下面的代码: ...

  5. 基于django的个人博客网站建立(五)

    基于django的个人博客网站建立(五) 前言 网站效果可点击这里访问 之前鸽了两天,今天继续再写点 主要内容 今天加了个展示照片的功能,就叫他生活记录吧 先建表 class Record(model ...

  6. 基于django的个人博客网站建立(四)

    基于django的个人博客网站建立(四) 前言 网站效果可点击这里访问 今天主要添加了留言与评论在后台的管理和主页文章的分页显示,文章类别的具体展示以及之前预留链接的补充 主要内容 其实今天的内容和前 ...

  7. 基于docker搭建wordpress博客网站平台

    WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站.也可以把 WordPress当作一个内容管理系统(CMS)来使用. WordPre ...

  8. 【docker构建】基于docker构建wordpress博客网站平台

    WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站.也可以把 WordPress当作一个内容管理系统(CMS)来使用. WordPre ...

  9. github+hexo搭建自己的博客网站(六)进阶配置(搜索引擎收录,优化你的url)

    详细的可以查看hexo博客的演示:https://saucxs.github.io/ 绑定了域名: http://www.chengxinsong.cn hexo+github博客网站源码(可以clo ...

随机推荐

  1. Mac ifconfig 详解(ifconfig detail)-- 外婆送来的丁香(Grandma's clove)

    引言 Intro 图片源链:https://pixnio.com/zh/%E6%A4%8D%E7%89%A9/%E8%8A%B1/%E4%B8%81%E9%A6%99%E8%8A%B1-%E5%8F% ...

  2. Docker学习-jenkins+github实现持续集成和部署

    上一篇介绍了docker环境搭建,本篇继续深入,结合jenkins利用docker-compose容器编排简单介绍下如何实现个人学习的持续集成/部署. 本篇学习曲线: 1.安装/运行jenkins容器 ...

  3. tensorflow SavedModelBuilder用法

    训练代码: # coding: utf-8 from __future__ import print_function from __future__ import division import t ...

  4. PC端、移动端页面适配方案

    前言 页面自适应PC端.移动端大体上可以分为两种: 1.在同一个页面进行自适应布局,通常使用CSS3 @media 媒体查询器实现 2.两套页面,在后端进行统一适配,根据不同的浏览器UA返回对应的页面 ...

  5. API接口访问频次限制 / 网站恶意爬虫限制 / 网站恶意访问限制 方案

    API接口访问频次限制 / 网站恶意爬虫限制 / 网站恶意访问限制 方案 采用多级拦截,后置拦截的方式体系化解决 1 分层拦截 1.1 第一层 商业web应用防火墙(WAF) 直接用商业服务 传统的F ...

  6. 在Linux系统下制作系统启动盘(Ubuntu Linux)

    在Linux系统下制作系统启动盘有两种方法: 1.用dd命令 2.用Linux自带的图形界面工具 Startup Disk Creator 本教程使用第2种方式,用Linux自带的图形界面工具制作系统 ...

  7. 聊一聊 Vue 中 watch 对象中的回调函数为什么不能是箭头函数?

    聊一聊 Vue 中 watch 对象中的回调函数为什么不能是箭头函数 本文重点知识点速览: Vue 中的 watch 对象中的回调函数不能是箭头函数. 箭头函数中的 this 指向的是函数定义时所在的 ...

  8. Docker 以及 docker-compose 的部署

    Docker部署 方式一 #下载软件源 wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.ustc.edu.cn/docker-ce/li ...

  9. (2019版本可用)Pycharm的安装,破解

    前言 python的操作工具pycharm,是专门用来写python语言的. 因为之前在网上找到了,但是太麻烦了,所以整理整理. pycharm安装 官网可以选择下载(pycharm最新版有可能破解不 ...

  10. Python核心技术与实战 笔记

    基础篇 Jupyter Notebook 优点 整合所有的资源 交互性编程体验 零成本重现结果 实践站点 Jupyter 官方 Google Research 提供的 Colab 环境 安装 运行 列 ...