开发工具:windows7,Pycharm,CentOs7.2,Xshell,XFtp
语言插件包:Python3.6.7,Django2.1.3,Pipenv,nodejs,pm2
我为什么要用Pipenv+nodejs,而没有用virtualenv,因为简单,没有那么繁琐的东西,况且Pipenv已经包括了virtualenv,我们大家都是在windows平台下面开发,然后部署到Linux系统下的,这是大部分人都想这么做,(你想负载均衡可以在配置一个ngingx,这里不讨论nginx负载均衡的问题)。
别看他用了一堆东西,很吓人,其实他用的东西,只是一个命令而已,一个工具,一个命令带过.
用了这些工具,你可以只配置一个文件,就可以立马看到你部署的成果。
至于说CentOS7.2云服务器,你可以网上租一个,
我们的工作就从Phcharm开始,你先创建一个Django工程,
注意:
1,创建的Django工程
选择虚拟机
你如果没有找到Pipenv的话,可能是你没有安装,没关系,安装就可以了
pip3 install Pipenv
下面正式开始:
一,你创建完成了这个项目,运行,在浏览器访问没问题,
二,找到你创造的那个项目文件夹。打包这个项目成Test.zip
三,假设你已经租好了CentOs服务器,
打开XShell,链接上CentOs
打开XFtp,把刚才打包的Test.zip上传到CentOS服务器。
具体XShell。XFtp怎么用,网上一堆,很简单,当然你可以使用Pycharm有一个自动部署到CentOS服务器的,那个开发完自动上传部署,就是Tools菜单里面有一个Deployment,你配置一个就可以了。
1,在CentOS部署:
安装各种依赖包
yum -y groupinstall "Development tools"
yum -y install zlib-devel bzip2-devel openssl-devel
ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel
db4-devel libpcap-devel xz-devel libffi-devel gcc automake autoconf
libtool make wget
安装Python3.6.7
wget
https://www.python.org/ftp/python/3.6.7/Python-3.6.7.tar.xz
tar -xvJf Python-3.6.7.tar.xz
编译
cd Python-3.6.7
./configure --prefix=/usr/local/bin/python3
make
make install
创建软连接。
ln -s /usr/local/bin/python3/bin/python3
/usr/bin/python3
ln -s /usr/local/bin/python3/bin/pip3 /usr/bin/pip3
验证安装效果
yum install which
which python3
which pip3
指定python3环境变量
export PATH=$PATH:/usr/local/Python3.6/bin
升级pip
pip3 install --upgrade pip
安装扩展包
yum install epel-release
安装python-pip
yum install python-pip
安装pipenv
pip3 install pipenv
安装nodejs
yum install nodejs
安装pm2
npm install pm2 -g
上面就是一串安装部署,安装完成。
找到你上传的项目
unzip Test.zip
cd Test
在这个目录下你可以安装所有的依赖包
pip3 install 依赖包名称
暂时先安一个Django2.1.3
pip3 install django==2.1.3
在manager.py的同级目录下, 创建pm2运行django程序的脚本文件start.sh
vi start.sh
python3 manage.py runserver 0.0.0.0:9000
:wq
然后打开你的CentOs端口
firewall-cmd --query-port=9000/tcp
添加你的端口
fireewall-cmd --add-port=9000/tcp
启动服务器
pm2 start start.sh
在本地浏览器输入 IP:9000,见证奇迹的时刻
如果不能访问,把项目文件Test文件下下的Setting.py的ALLOWED_HOSTS
= []改成ALLOWED_HOSTS
= ['*']
有的云服务器上面防火墙的设置
打开端口9000
停止服务器
pm2 delete start.sh