Django博客开发之网站发布(Linux环境下安装Python环境)

news/2024/5/9 12:54:04/文章来源:https://blog.csdn.net/ALLENsakaru/article/details/84310494

Linux环境下编译安装Python3
我们今天学习如何将Django博客项目部署到Linux服务器上,我们此次选择Linux的系统是centos7,如何安装centos7我就不在这里进行演示了,如果不会的请自行百度如何安装centos7。镜像下载地址:https://www.centos.org/download/
接下来是在Linux上搭建我们的python3环境,但是在安装之前,我们不要删除centos7自带的python2,删除之后会发生很多奇妙的事情,我不推荐大家这样做,我也不会告诉你怎么做。

  1. 首先安装Python3的依赖包
[root@localhost Desktop]# yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel
readline-devel tk-devel gcc make -y

在这里插入图片描述
安装过程如图
在这里插入图片描述
安装完成如图
在这里插入图片描述
2. 然后下载Python3的安装包,下载之前我们需要把目录切换到我们的桌面,因为这样比较好找。
命令:wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tar.xz
在这里插入图片描述
然后对安装包进行解压
命令 tar -xvJf Python-3.5.2.tar.xztar -vxf Python-3.5.2.tar.xz
在这里插入图片描述
切入目录,进行编译安装

[root@localhost Desktop]# cd Python-3.5.2/
[root@localhost Python-3.5.2]# ./configure prefix=/usr/local/python3

在这里插入图片描述
紧接着执行 make && make install
在这里插入图片描述
在这里插入图片描述
3. 配置环境变量
命令: ln -s /usr/local/python3/bin/python3 /usr/bin/python3
在这里插入图片描述
命令:ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
在这里插入图片描述
效果如下:
在这里插入图片描述
在这里插入图片描述
以上我们完成了python的安装,接下来还需要安装python的依赖包和项目的依赖包
1、 python-devel
命令:yum -y install python-devel(这里要保证自己的虚拟机能够ping通外网,设置网卡的时候设置桥接网络)
在这里插入图片描述
安装Django1.8.2 pillow django-ckeditor5.4.0

pip3 install django==1.8.2 (这里可能会有人觉得1.8.2不是最新版本,我们为了和前面的版本不冲突,以及版本稳定性考虑)

在这里插入图片描述

pip3 install pillow

在这里插入图片描述

pip3 install django-ckeditor==5.4.0

在这里插入图片描述
python uwsgi
至此我们完成了Python+Django环境的部署,接下来我们需要了解python 的uwsgi框架。接下来我们需要了解python 的uwsgi模块。

Python manager.py runserver, 这是一款适合开发阶段使用的服务器,只支持最高200的并发,显然不适合在生产中使用。我们在生产环境当中,通常会用到apache或者nginx服务器作为Django的生产服务器。今天我们以nginx为例子。但是在学习部署之前,我们首先要掌握在Django和nginx之间的一个程序,就是wsgi,web服务器网关接口,英文叫, Web Server Gateway Interface 缩写叫WSGI,是Python应用程序、框架和web服务器之间的一种接口。
首先安装我们今天部署用的是uwsgi模块

pip3 install uwsgi

在这里插入图片描述
然后配置环境变量
命令:ln /usr/local/python3/bin/uwsgi /usr/bin/uwsgi--s
在这里插入图片描述
Django和WSGI的结合
我们把我们准备好的Django项目存放到/opt/下

 [root@localhost bin]# cp -r /root/Desktop/OurBlog/ /opt/

在这里插入图片描述
然后尝试使用uwsgi启动Django项目
在这里我们要关注到之前我们一直忽视的一个文件了
在这里插入图片描述

这个就是我们项目的uwsgi文件,接下来通过它来让我们的网站得以访问

uwsgi --http 192.168.1.53:8000 --file OurBlog/wsgi.py --static-map=/static=static

在这里插入图片描述
当然,这里我们要配置seLinux,防火墙和Django的settings
关闭selinux
命令: setenforce 0
关闭防火墙
命令:systemctl stop firewalld.service
Settings配置
ED_HOSTS = ["*"] 允许所有访问
然后发起访问
在这里插入图片描述
django+nginx+uwsgi
上面我们用命令启动了uwsgi,但是体验不太好,所以我们在这里使用ini文件启动uwsgi服务器
在项目同等级目录下创建script目录
在这里插入图片描述
然后在当中编写uwsgi.ini文件,内容如下

[uwsgi]
chdir=/opt/OurBlog   #项目目录
module=OurBlog.wsgi:application  #指定项目的application
socket=/opt/script/uwsgi.sock  #指定sock的文件路径
workers=5  #进程个数
pidfile=/opt/script/uwsgi.pid
http=192.168.1.53:8000  #指定IP端口
static-map=/static=/opt/OurBlog/static  #指定静态文件
uid=root  #用户
gid=root  #组
master=true  #启用主进程
vacuum=true  #自动移除unix Socket和pid文件当服务停止的时候
enable-threads=true #启用线程
thunder-lock=true #序列化接受的内容,如果可能的话
harakiri=30 #设置自中断时间
post-buffering=4096 #设置缓冲
daemonize=/opt/script/uwsgi.log #设置日志目录

然后启动uwsgi服务

uwsgi --ini uwsgi.ini(脚本名称)

在这里插入图片描述
然后可以正常访问
在这里插入图片描述
安装nginx服务器
我们直接安装nginx是没有的,所以,需要我们wget
命令:wget -c https://nginx.org/download/nginx-1.12.2.tar.gz
在这里插入图片描述
然后对其进行解压
命令:tar -zxvf nginx-1.12.2.tar.gz && cd nginx-1.12.2
在这里插入图片描述
自定义配置
命令:./configure \ 输入命令后出现如图一个输入符>,按回车直接开始配置
在这里插入图片描述
编译安装
命令:make && make install
在这里插入图片描述
在这里插入图片描述
然后配置环境变量
命令:ln sbin/nginx /usr/bin/nginx
在这里插入图片描述
启动nginx查看效果
在这里插入图片描述
在浏览器中输入我们的Nginx服务器IP地址:192.168.1.53
在这里插入图片描述
进行nginx配置(配置nginx.conf,配置之前进行备份)
备份

 cp nginx.conf nginx.conf.bak

在这里插入图片描述
然后开始配置
配置节选1

http {include       mime.types;default_type  application/octet-stream;#这里规定了日志的格式,默认是注释的,我们需要解开注释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  logs/access.log  main;sendfile        on;#tcp_nopush     on;#keepalive_timeout  0;keepalive_timeout  65;#gzip  on;server {

在这里插入图片描述
配置节选2

 server {listen       80;  #监听端口server_name  OurBlog; #服务名称charset utf-8; #服务器编码access_log  /var/log/nginx/access.log  main; #访问日志路径,注意:这个目录可能没有,需要创建gzip_types text/plain application/x-javascript text/css text/javascript application/x-httpd-php application/json text/json image/jpeg image/gif image/png application/octet-stream; #压缩格式error_log /var/log/nginx/error.log error; #错误日志注意:这个目录可能没有,需要创建location / {include uwsgi_params; #nginx加载uwsgi模块uwsgi_connect_timeout 30; #连键超时时间uwsgi_pass unix:/opt/script/uwsgi.sock; #nginx对应的uwsgi socket文件} location = /static/ {alias /opt/OurBlog/static;  #静态文件路径index index.html index.htm;  #首页}}

在这里插入图片描述
效果如下:
在这里插入图片描述
至此个人博客的整个开发流程就是如此,当然还得你自己完善一些功能和细节。
好啦,我们下个项目再见!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_796935.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python模拟登录我爱我家网站

什么是模拟登陆? 模拟登陆:用脚本模拟用户行为实现账户登陆。 模拟登陆分类 暴力模拟登陆:忽略web设计原理,忽略登陆需求,硬性的将cookie取出加载爬虫当中进行登录。 原理分析模拟登陆: 根据网站源码和…

如何使用Apache的ab工具进行网站性能测试

2019独角兽企业重金招聘Python工程师标准>>> 1.打开Apache服务器的安装路径,在bin目录中有一个ab.exe的可执行程序,就是我们要介绍的压力测试工具。 2.在Windows系统的命令行下,进入ab.exe程序所在目录,执行ab.exe程序…

京东 你访问的页面需要验证证书_SSL证书对于SEO排名来说有什么意义?vTrus这样说…...

SSL(安全套接字层)证书作为网站的一种安全措施,是安装在Web服务器上的小型数据文件。SSL会激活一个挂锁,以允许从Web服务器到浏览器的安全连接。HTTPS页面将获得SEO提升在Google不断变化的SEO排名算法中,最新的算法之一是将使用SSL证书的网站…

php培训网站怎么样,九江php培训怎么样(PHP是什么)

九江php培训怎么样,当你比较纠结选择江西PHP培训,应该留下看看:php培训后的发展前景,php培训的注意事项,怎么运行PHP,php常用框架有哪些,php乱码怎么解决,PHP是什么php培训后的发展前…

SEO最近的一份成绩单

总觉得可以做的更好的。大神看到了勿喷..转载于:https://blog.51cto.com/daoxin/1639876

seo优化与html,HTML SEO 优化技巧

分析个人能力的时候发现自己对HTML 的SEO优化了解的还不是很多,所以花了些时间学习了一下,并且和大家分享一下所学内容与总结。1. 标签优化1. Title 标签title标签是搜索引擎抓取的重点,搜索引擎抓取title标签作为搜索结果的展示信息。title标…

linux网站程序,建议收藏99%的程序员都爱的网站

导读作为程序员,你每天接触到的比较多的网站或者平时比较喜欢浏览的网站有哪些?今天给大家介绍9个99%的程序员都爱的网站,建议收藏起来。如果你有什么其他有用的网站,也可以评论区推荐给大家。1、GitHubhttps://github.com/大名鼎…

元旦用SpringBoot撸了个博客网站送给大家

说在前面掘金是曾经我觉得最适合写技术文章的社区,因为可以带二维码引流。我觉得这想法没问题,可是最近发现掘金也凉了,写文章连个公众号二维码都不给带,这让我觉得被白嫖了。而且最近发现我更加偏向于写纯粹的技术文章&#xff0…

和朋友合伙搞了个网站

做IT的可能都有类似的操作,总有一些朋友会找我们做这做那,或者是合伙做个网站什么的,这不,今年年初深圳那边就有个关系很铁的老哥找我搞一个租房网站,他简单说明了下他的想法,我大概罗列了能不能做深圳本地…

使用C#的HttpWebRequest模拟登陆网站

原文:使用C#的HttpWebRequest模拟登陆网站这篇文章是有关模拟登录网站方面的。 实现步骤; 启用一个web会话 发送模拟数据请求(POST或者GET) 获取会话的CooKie 并根据该CooKie继续访问登录后的页面,获取后续访问的页面数据。我们以…

[网站摘录]TOP小区流程分析

原文地址:http://www.mscbsc.com/bbs/thread-656686-1-1.html#73转载于:https://blog.51cto.com/10237569/1840620

Dapper:The member of type SeoTKD cannot be used as a parameter Value

异常汇总&#xff1a;http://www.cnblogs.com/dunitian/p/4523006.html#dapper 上次说了一下Dapper的扩展Dapper.Contrib http://www.cnblogs.com/dunitian/p/5710382.html 以及这个异常&#xff1a;Dapper.Contrib&#xff1a;GetAsync<T> only supports an entity with…

IIs 网站应用程序与虚拟目录的区别及高级应用说明(文件分布式存储方案)【转】...

对于IIS网站&#xff0c;大伙用的比较多&#xff0c;就不啰嗦了。 今天和说说大伙比较少使用的"IIS应用程序”和虚拟目录的区别及高级应用场景&#xff0c;文件分布式存储方案。 1&#xff1a;IIS网站&#xff1a; 一个网站&#xff0c;基本就是一个站点&#xff0c;绑定N…

你通晓SaaS吗?不自行搭建门户网站的三大理由

就算你创业家们已经对SaaS动了心&#xff0c;也要关注SalientGroup公司发布的新研究结果&#xff1a; 1、SaaS在获得资金。近50%的基于SaaS的初创公司成功地融到了资金――融资成功率之高是其他行业领域无法企及的。 2、基于SaaS的企业在增长。SaaS市场的增长率比软件市场快3倍…

asp.net 网站 发布时 去掉.cs文件

VS2013在WIN8下扁平的UI和我今天锈垢的大脑&#xff0c;让找这个设置找了好半天&#xff01;&#xff01;&#xff01;OK&#xff0c;言归正传。在要发布的网站上右键&#xff0c;选择"发布网站"。在发布窗口中&#xff0c;会让你选择一个发布配置文件&#xff0c;没…

钓鱼网站飙升居然因为这个原因...

2019独角兽企业重金招聘Python工程师标准>>> 2017年注定是个不太平的年份&#xff0c;钓鱼网站的数量已经达到了巅峰状态…… 虽然各大主流浏览器已经推进网站HTTPS的部署&#xff0c;但也正是因为这个原因&#xff0c;一部人认为只要安装了SSL证书就可以保证网站的…

凡客诚品官方网站的前端改进建议

打开http://www.vancl.com/发现采用的Asp.net&#xff0c;这点我感到很欣慰&#xff0c;毕竟国内采用.net技术体系的优秀网站少之又少。好奇之余右键-查看源码&#xff0c;却不由得皱起眉头&#xff0c;在此提几个可以让网站更快的前端建议&#xff1a; 01.合并头部的script为一…

Servlet过滤器实现网站访问计数器功能

实现网站在线访问计数器功能&#xff0c;网站的初始值设置为1000 &#xff08;1&#xff09;创建CountFilter的类&#xff0c;实现javax。servlet.Filter接口&#xff0c;是一个过滤器对象&#xff0c;通过过滤器实现统计网站人数功能&#xff1a; 123456789101112131415161718…

2017年最受欢迎的10个编程挑战网站

2019独角兽企业重金招聘Python工程师标准>>> https://mp.weixin.qq.com/s/nnswkOs_FAq1NHDzfX8mwQ 转载于:https://my.oschina.net/u/3705388/blog/1575013

记一次使用Node.js electron打包网站的记录

具体步骤请参考&#xff1a;http://blog.csdn.net/a727911438/article/details/70834467 打包时出现了不少问题&#xff0c;逐一记录下来以供其他人参考。 package.json文件内容 {"name": "appname","version": "0.1.0","main&qu…