之前做了十多年的.net,最近有兴趣突然想研究点别的语言,选中了python,结果愈发不可收拾,越陷越深,喜欢上了python,主要是这种风格很让我着迷,我现在甚至有放弃.net的念头,花了一周的时间,也了解了周边相关的知识,部署在虚拟机上,现在记录于此:

--------------------------------------------------------升级python2.7.11-------------------------------------
下载好2.7.11,然后目录下
./configure --prefix=/usr/local/python2.7
make && make install
然后在/usr/local/python2.7 会多出python2.7的文件夹

移动以前的,软连接
mv /usr/bin/python /usr/bin/python275
ln -s /usr/local/python2.7/bin/python2.7 /usr/bin/python # 添加软连接

注意以后安装的python工具包例如easy_install,pip等,都会安装在/usr/local/python2.7/bin 目录下
要想直接使用这些命令还需要把/usr/local/python2.7/bin添加到$PATH变量中
1、编辑/etc/profile文件(永久生效)
vi /etc/profile
找到export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL这行上面加入
PATH=$PATH:/usr/local/python2.7/bin
重新初始化文件,使文件立即生效
source /etc/profile or . /etc/profile

--------------------------------------------------------然后yum将失灵-----------------------------------------
(#!/usr/bin/python)升级完2.7.11之后的样子
#修改yum文件
vi /usr/bin/yum
将文件头部的

#!/usr/bin/python
改为如下内容

#!/usr/bin/python275

(特别注意:有时候用yum安装会提示异常,比如少了 urlgrabber-ext-down 这时需要vi /usr/libexec/urlgrabber-ext-down 然后把头文件改成和vi /usr/bin/yum第一行一样的,即#!/usr/bin/python275)
(题外话 yum下载的东东安装后跑哪里去了 ,用rpm -ql 包名 来查查吧)

---------------------------------------------------------来安装nginx吧-----------------------------------------

在解压好的nginx-1.8.0目录中
./configure --prefix=/home/tony/nginx-1.8.0
make
sudo make install
这个过程不能停啊...

启动nginx服务器

sudo /home/tony/nginx-1.8.0/sbin/nginx -c /home/tony/nginx-1.8.0/conf/nginx.conf

其中/home/tony/nginx-1.8.0/sbin/nginx表示启动程序,这里用全路径更加直观,可以根据自己的习惯做软链接到系统路径。
(题外话 如何重启nginx 需要先kill了进程 ps -ef|grep nginx ps kill -9 进程号)
(题外话 查看端口被占用 lsof -i tcp:80)

--------------------------------------------------------该安装虚拟环境virtualenv了------------------------------------------
先说说安装这两个
下载解压 setuptool
python setup.py install

然后下载解压 pip
python setup.py install

由于上面设置了,所以都安装到新的python2.7.11中了

但是悲催的是,pip找不到命令......我用的笔记本安装,据说台式机是好的

在pip-7.1.2目录下
cd ..
sudo easy_install pip-7.1.2/
又报错了,md,查看之后说要下载
发现命令运行会报错。重新安装python的distribution-0.6.49(0.7.3的会报错)
下载distribution链接https://pypi.python.org/pypi/distribute/0.6.49
cd distribute-0.6.49
python setup.py install

还是不行啊!!
后来 我用了这个可以了
/usr/local/python2.7/bin/pip install virtualenv
(后来发现 在这个目录下=>"/usr/local/python2.7/bin/" 用./pip install virtualenv 也行)

在pip中 安装virtualenv (用root用户装)
创建如下
(/usr/local/python2.7/bin/python2.7下 ./)
./virtualenv -p /usr/local/python2.7/bin/python2.7 /home/tony/py2711env(后面不写 就找不到装哪里了)

激活
source /home/tony/py2711env/bin/activate(注意激活之前不要装flask等等)

退出
deactivate

--------------------------------------------该安装mongodb了----------------------------------------------------------
在bin里
dbpath=/home/tony/mongodb301/db
logpath=/home/tony/mongodb301/logs/mongodb.log
port=27017
fork=true
nohttpinterface=true

新建文件夹 logs 和 db
然后启动吧
/home/tony/mongodb301/bin/mongod --config /home/tony/mongodb301/bin/mongodb.conf

(题外话 做成开机启动)
配置开机自动启动mongodb
vi /etc/rc.d/rc.local

在文件中加入:
/home/tony/mongodb301/bin/mongod --config /home/tony/mongodb301/bin/mongodb.conf

--------------------------------------------------安装uwsgi------------------------------------------------------
先安装相关依赖python-devel、setuptools,libxml2-devel,直接用yum安装。如果是自行编译安装的python,可以不用安装python-devel。
进入到 /usr/bin 里 用root用户
sudo ./yum -y install python-devel python-setuptools libxml2-devel
下载uwsgi后解压
python setup.py install

-----------------------------------------------------安装flask等插件--------------------------------------------------------------
pip install flask 就是安装最新的flask

---------------------------------------------------nginx集成到uwsgi-------------------------------------------------------------------------
uwsgi在nginx是标准模块,所以不需要安装。编辑nginx的配置文件,使其加载uwsgi。

location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:3031;
root html;
index index.html index.htm;
}
修改完成后可以测试下配置文件是否没有错误。
sudo /home/tony/nginx-1.8.0/sbin/nginx -t -c /home/tony/nginx-1.8.0/conf/nginx.conf

kill掉进程 重启nginx

启动uwsgi

在flask项目中,添加config.xml
<uwsgi>
<pythonpath>/home/tony/py2711env/app</pythonpath>
<module>manage</module>
<callable>app</callable>
<socket>127.0.0.1:4000</socket>
<master/>
<processes>4</processes>
<memory-report/>
</uwsgi>

启动
sudo /usr/local/python2.7/uwsgi -x /home/tony/py2711env/app/appconfig.xml
如果不行
[root@localhost bin]# ./uwsgi -x /home/tony/py2711env/appconfig.xml

注意啦,犯了一个错误,之前的uwsgi是在建虚拟环境之前装的,所以需要虚拟环境里在装一遍
用pip install uwsgi
然后在虚拟环境中执行
uwsgi -x /home/tony/py2711env/app/appconfig.xml

---------------------------------------最后 配置一下虚拟机的ip------------------------------------------------
cd /etc/sysconfig/network-scripts
ls
编辑后
service network restart

别忘记桥接模式

-------------------------以后这样就ok了---------------------------------
/home/tony/mongodb301/bin/mongod --config /home/tony/mongodb301/bin/mongodb.conf
source /home/tony/py2711env/bin/activate
sudo /home/tony/nginx-1.8.0/sbin/nginx -c /home/tony/nginx-1.8.0/conf/nginx.conf
uwsgi -x /home/tony/py2711env/appconfig.xml

大功告成!

转载于:https://www.cnblogs.com/tonywear/p/5138314.html

centos7+python flask+nginx一套完整的部署流程相关推荐

  1. uwsgi+python+flask+nginx服务器部署

    flask+uwsgi+nginx 服务器 安装centos7系统 1. 系统选择CentOS系统就好(推荐选择CentOS7系统) 2. 用户名:root 3. 密码自己设定(自己记住) 安装宝塔面 ...

  2. 云主机配置微信公众号后台全记录 --【 阿里云ECS CentOS7 + Python3 + Flask + Nginx + Gunicorn + WeRoBot + Systemd 】

    前言 在天秤座的纠结性格反复权衡后,最终我还是拥有了自己的第一个个人云主机.我这里选择的是"阿里云学生专享服务器",在做学生的最后一年有幸享受到9.5/月的优惠价格,还是要感谢阿里 ...

  3. windows python + flask + nginx同局域下开放接口

    由于flask本地启用后,只能自己调用,同局域网下想给其他同事使用,是无法访问的,因此通过nginx对外开放ip+端口,然后转发进行调用. 第一种方式 1.先确定好启动端口,如我使用的是9900 2. ...

  4. [从零开始]Flask+Nginx在云服务器上部署服务

    服务器:百度智能云轻量应用服务器 2H4G 换源 mv /etc/apt/sources.list /etc/apt/sources_bak.list vi /etc/apt/sources.list ...

  5. python flask oauth_基于python flask详述 OAuth 2.0 的运作流程

    OAuth2流程图 OAuth2 对于我来说是一个神秘的东西,我想初步的弄懂中间的整个流程,于是就去google搜索相关的文档资料. 在浏览了参差不齐的各种文章后,简述 OAuth 2.0 的运作流程 ...

  6. Flask项目部署云服务器 CentOS7.3+Redis+MySQL+Flask+Nginx+Gunicorn +Supervisorctl

    Flask项目部署云服务器 CentOS7.3+Redis+MySQL+Flask+Nginx+Gunicorn +Supervisorctl 项目运行环境 阿里云(单核CPU, 2G内存, Cent ...

  7. centos7.5 部署flask+nginx+uwsgi+python3

    2019独角兽企业重金招聘Python工程师标准>>> centos7.5 部署flask+nginx+uwsgi+python3 ## uwsgi [uwsgi] master = ...

  8. python实现erp系统后端_python开发erp教程《PYTHON编一套完整ERP系统,15万元能下来吗》...

    python开发erp教程<PYTHON编一套完整ERP系统,15万元能下来吗> python开发erp教程2020-10-09 13:08:31人已围观 PYTHON编一套完整ERP系统 ...

  9. 利用anaconda安装python_Python机器学习4:简单、快速搭建一套完整的Python机器学习环境...

    在某些平台上安装Python机器学习环境是非常困难的.首先需要安装Python,然后需要安装许多机器学习.深度学习的库,并且同一个库的不同版本之间往往还容易冲突,初学者往往在搭建机器学习环境这一步就失 ...

  10. 挑战一个人搭建一套完整直播系统1:Nginx安装

    本章开始将介绍如何搭建一套完整的直播系统,首先介绍Nginx的安装,操作系统使用的是Ubuntu Nginx安装 1.下载安装包到指定目录 wget http://nginx.org/download ...

最新文章

  1. “人工智能进行临床诊断,至少在今天看来不靠谱”
  2. 图论--LCA--在线RMQ ST
  3. proteus跑马灯仿真_不花费一分钱,实现跑马灯编程实验
  4. 重定向 12 21 解析
  5. 技术人写作和写代码一样重要
  6. C语言——输出*菱形
  7. IOS开发-我的第一个IOS程序
  8. Hp Dell服务器硬件监控
  9. PHP程序员面临的成长瓶颈
  10. 网上书店系统活动设计
  11. EDA技术与CPLD/FPGA开发应用实验教学
  12. 1206_MISRA_C规范学习笔记_Rule 10.1 Rule 10.2
  13. PDF文件怎样修改,怎么修改PDF文件内容
  14. s5p4418摄像头程序使用教程
  15. web api(基于NFine框架) 中接口跳转数据格式错误解决方案
  16. c语言三种循环结构特点,c语言循环结构(c语言循环结构特点)
  17. css 侧栏跟随_如何实现博客的侧栏跟随(滚动条)效果
  18. mysql ddl 导致tmp空间溢出并报错
  19. 红米k50电竞版和红米k40游戏增强版哪个好 参数对比
  20. FastCGI 进程管理器(FPM)

热门文章

  1. 计算机网络_UDP和TCP的区别
  2. 马蜂窝数据总监分享:从数仓到数据中台,大数据演进技术选型最优解
  3. 私域流量利用:微信营销系统的新策略
  4. “健康大数据+保险”是相对可靠的盈利模式
  5. 小飞鱼推荐的2个正则表达式开发工具(图文)
  6. 美味豆浆 打造甜蜜温柔小女人
  7. 国有土地使用证丢失还可以补办吗
  8. React函数式组件Hooks开发
  9. 微信小程序会议OA系统
  10. 数据结构的定义(Data Structure)