基于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即可访问项目了
总结
项目的部署基本完成,我也弄了个域名,正在备案,由于域名的所有者名字的英文名称不是中文名的汉语拼音,所以还得修改,又得多拖几天了。
基于django的个人博客网站建立(六)的更多相关文章
- 基于django的个人博客网站建立(三)
基于django的个人博客网站建立(三) 前言 网站效果可点击这里访问 今天主要完成的是文章在页面的显示以及评论,留言 具体内容 首先我希望主页面是显示我的所有文章,于是在主页面的视图函数中返回了所有 ...
- 基于django的个人博客网站建立(二)
基于django的个人博客网站建立(二) 前言 网站效果可点击这里访问 今天主要完成后台管理员登录的状态以及关于文章在后台的处理 具体内容 首先接上一次内容,昨天只是完成了一个登录的跳转,其他信息并没 ...
- 基于django的个人博客网站建立(一)
基于django的个人博客网站建立(一) 前言 网站效果可点击这里访问 之前基于hexo和github page搭建过一个博客网页,后来由于换了个系统,感觉弄的有点麻烦也就没有再去管它了,最近偶然从网 ...
- 基于django的个人博客网站建立(七)
基于django的个人博客网站建立(七) 前言 网站效果可点击这里访问 这次在原来的基础上添加或修改一些小功能 具体内容 1.代码高亮 在原来的blog-details.html页面添加下面的代码: ...
- 基于django的个人博客网站建立(五)
基于django的个人博客网站建立(五) 前言 网站效果可点击这里访问 之前鸽了两天,今天继续再写点 主要内容 今天加了个展示照片的功能,就叫他生活记录吧 先建表 class Record(model ...
- 基于django的个人博客网站建立(四)
基于django的个人博客网站建立(四) 前言 网站效果可点击这里访问 今天主要添加了留言与评论在后台的管理和主页文章的分页显示,文章类别的具体展示以及之前预留链接的补充 主要内容 其实今天的内容和前 ...
- 基于docker搭建wordpress博客网站平台
WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站.也可以把 WordPress当作一个内容管理系统(CMS)来使用. WordPre ...
- 【docker构建】基于docker构建wordpress博客网站平台
WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站.也可以把 WordPress当作一个内容管理系统(CMS)来使用. WordPre ...
- github+hexo搭建自己的博客网站(六)进阶配置(搜索引擎收录,优化你的url)
详细的可以查看hexo博客的演示:https://saucxs.github.io/ 绑定了域名: http://www.chengxinsong.cn hexo+github博客网站源码(可以clo ...
随机推荐
- 201871010119-帖佼佼《面向对象程序设计(java)》第十六周学习总结
博文正文开头格式:(2分) 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.co ...
- Spring与Shiro整合 加载权限表达式
Spring与Shiro整合 加载权限表达式 作者 : Stanley 罗昊 [转载请注明出处和署名,谢谢!] 如何加载权限表达式 我们在上章内容中画了一张图,里面有三个分项,用户 角色 权限: 那 ...
- NodeJS4-2静态资源服务器实战_实现获取文件路径
实例2 : 实现获取文件路径,判断是文件还是文件夹,如果是文件夹就显示里面的列表文件,如果是文件就显示里面的内容 defaultConfig.js module.exports={ root:proc ...
- 【Spring】只想用一篇文章记录@Value的使用,不想再找其它了(附思维导图)
1 简介 不得不说,Spring为大家提供许多开箱即用的功能,@Value就是一个极其常用的功能,它能将配置信息注入到bean中去.即使是一个简单的功能,Spring也提供了丰富的注入类型和形式.我经 ...
- Spring Boot 部署浅析(jar or war)
对于传统的 ssm 或者 ssh 项目的部署,一般会打包成war包,或者是一个编译好的文件夹,再放到 tomcat 的 webapps 目录下,如果是 war 包,会自动解压出来.而 Spring B ...
- PlayJava SSM框架简介
SSM框架 SSM是Spring + Spring MVC + MyBatis的缩写,是一个继SSH之后目前比较主流的JavaEE框架,适用于搭建各种企业级应用系统. Spring Spring是一个 ...
- Java 商户管理系统 客户管理 库存管理 销售报表 SSM项目源码
系统介绍: 1.系统采用主流的 SSM 框架 jsp JSTL bootstrap html5 (PC浏览器使用) 2.springmvc +spring4.3.7+ mybaits3.3 SSM ...
- 使用 SQL 服务器时,"评估期已过期"错误消息
当打开sql server2008企业管理器的时候,出现报错“评估期已过.有关如何升级的测试版软件的信息.....” 修改注册表:HKEY_LOCAL_MACHINE/SOFTWARE/Microso ...
- C语言笔记 05_判断&循环&函数
判断 C 语言把任何非零和非空的值假定为 true,把零或 null 假定为 false. 下面是大多数编程语言中典型的判断结构的一般形式: 判断语句 C 语言提供了以下类型的判断语句.点击链接查看每 ...
- spinand之data buffer
data buffer简介 spinand一般会有一个内置的data buffer. 以W25N01GV为例,一个page是2048bytes外加64bytes的spare数据,其data buffe ...