linux 下部署Python项目
2019-02-18 by 崔斐然
笔记笔记笔记。。不要看项目,(手动捂脸)我自己的一个记录而已
目录
一、启用ROOT账户及密码和ssh
对于谷歌云,先使得ssh登陆这样也好操作,
使用Google Cloud网页版ssh,切换到root:
[code]sudo -i
我喜欢安装nano编辑器,
[code]centos:yum install nano ubuntu and debain: sudo apt-get install nano
使用nano编辑ssh配置文件
[code]nano /etc/ssh/sshd_config
修改以下内容使得可以用root登陆服务器:
[code]PermitRootLogin yes PasswordAuthentication yes
如果想延长ssh终端时间的话可以同时修改这两个参数:(ClientAliveInterval 表示间隔多久向客户端发送一次检测信号,ClientAliveCountMax 表示多少次没收到客户端回应就断开。下面的设置表示30分钟内无操作就断开ssh连接)
[code]ClientAliveInterval 60 ClientAliveCountMax 30
随后,我们重启ssh并设置ssh的登陆密码:(centos7中密码需要8位以上,建议设置强密码)
[code]service sshd restart #修改当前账户和root账户的密码 sudo passwd ${whoami} sudo passwd root
至此,我们可以在macOS的terminal中使用 ssh root@服务器IP 来登陆我们的服务器了
二、安装screen实现不掉线运行程序
因为我要在服务器上部署爬虫项目,总是ssh连接的话自己的电脑就不能关机,安装了screen的话就可以在screen窗口中运行项目,在登陆服务器后进入screen窗口就可以看到运行中的项目了。
安装screen:
[code]centos: yum install screen ubuntu and debain: sudo apt-get install screen
那么关于screen的命令如下:
[code]新建screen窗口: screen -S <name> (例:screen -S task1) 挂起该窗口(后台运行):先按下Ctrl+a 随后再按 d (会提示:[detached from 8465.task1]) 显示所有screen窗口:screen -ls (会显示:8465.task1 (Detached)说明task1已经在后台) 进入指定的screen窗口:screen -x <screen name or port> (例:screen -x task1)(例:screen -x 8465) 那么想要退出窗口关闭后台呢?就先进入screen窗口在窗口中输入exit即可 或者kill screen port (例:kill 8465)
当然了,screen也可以实现多窗口、会话共享等更多功能,这里不再介绍了
三、部署项目
部署项目有多种办法,以前一直用ftp上传到服务器。也就是在服务器安装ftp即可,方法参照【基于机器学习的捡球机器人设计与实现(探索)第1篇】
现在计划用GitHub来做中介人传入服务器。
目前是这样的,我的GitHub已经有项目了,现在想对项目修改以下,并在服务器运行
首先克隆代码到本地:
[code]git clone <clone URL> (例:git clone https://github.com/cuifeiran/PyOne.git )
修改完代码后,在项目的根目录:
[code]git add . # 将修改添加至本地缓存,注意有个点 git commit -m 'update 20190218' # 将本地缓存保存到本地仓库中 git push # 将本地仓库推送至服务器 #git pull # 将服务器的代码更新到本地仓库中
这样,再登陆服务器, git clone <clone URL>即可下载到服务器
四、部署Python项目环境
以前用的是debain9,自带Python3 ,现在换成了centos7,里面只有Python2 ,下面讲怎么让Python2与Python3在contos7中共存
我们先安装相关包:
[code]yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make
然后下载并解压Python3.6:(其他Python版本从这个链接选择https://www.python.org/ftp/python/目前最高Python3.8)
[code]wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz tar -xvJf Python-3.6.2.tar.xz cd Python-3.6.2 ./configure prefix=/usr/local/python3 make && make install
现在已经安装好Python3.6.2了,剩下的我们创建软连接才能用,因为我要用到Python2 ,
所以下面是共存的办法
[code]#建立Python3软链接 ln -s /usr/local/python3/bin/python3 /usr/bin/python3 #建立pip3的软链接 ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
至此,检查 Python3 -V
若你想把系统Python直接上Python3的话就下面这样:
[code]#创建python3软链接替换Python ln -s /usr/local/python3/bin/python3 /usr/bin/python #建立pip3的软链接 ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
对于直接上Python3的同学:因为执行yum需要python2版本,所以我们还要修改yum的配置,把yum改为Python2,方法:
[code]nano /usr/bin/yum
把第一行的: #! /usr/bin/python 修改为 #! /usr/bin/python2
同理,nano /usr/libexec/urlgrabber-ext-down 文件里面的 #! /usr/bin/python 也要修改为 #! /usr/bin/python2
至此,检查 Python -V
五、善后
(1)成功解决You are using pip version 9.0.1, however version 9.0.3 is available. You should consider upgra 升级pip:
python -m pip install --upgrade pip
(2)安装包:
在旧环境中导出包 pip freeze > packages.txt
在新环境中安装包:pip install -r packages.txt
手写也行。。写上包名 安装就得了。
¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥剩下的想到什么在补充¥¥¥¥¥¥¥¥¥¥¥¥¥¥
六、启用BBR加速
- Linux下将Python的Django项目部署到Apache服务器
- Linux下将Python的Django项目部署到Apache服务器
- Linux+Django+Python+Wsgi配置过程 Linux下配置Apache+Mod_Wsgi+Django环境 部署django项目
- 在linux下用tomcat部署java web项目的过程与注意事项
- 在window上部署python Django项目 采用apache+mod_wsgi方案
- 关于在linux下部署php项目
- J2EE项目在LINUX环境下的部署:三、JDK的安装
- Linux 上部署java web 项目时用到的命令行
- 将项目部署到Linux时,提示表不存在?
- java project 项目在 linux 下面部署步骤
- 通过云服务器在Linux环境下部署java项目(一)文件拷贝
- linux下部署项目节点相关脚本
- linux web项目部署到tomcat服务器
- python 在centos上用nginx+Gunicorn部署 flask 项目
- 二十五.将ECHO项目部署至LINUX环境
- Linux(Centos)之安装tomcat并且部署Java Web项目
- windows10上使用apache部署python flask项目
- Java Project项目在Linux下部署步骤及注意事项
- Linux操作系统下部署python 机器学习开发环境
- Linux(shell)部署JavaWeb项目