在阿里云上的django项目(一)

写在前面:从无到有的记录自己在疫情期间折腾的django项目,给自己的一个寄托!(不要拖延,经历了什么记录一下)
一、环境:阿里云ecs + python3.6 + django2.2.11 + mysql
二、过程(服务器端)

  • 阿里云不要钱的一个月ecs服务器(真香)申请一下,就有了自己的云上实例,默认安装了python2,但我要安装python3.6(安装在了/usr/local/)
yum -y install gcc	# 更新gcc,不至于带不动
wget https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz
tar -xvzf Python-3.3.0.tgz
cd Python-3.6.4
./configure --with-ssl
make
yum -y install zlib zlib-devel
sudo make install

具体参考https://www.cnblogs.com/sunshine-H/p/8117968.html

  • 更换镜像源为清华大学源
cd ~
cd python3.6
mkdir .pip3
cd .pip3
touch pip.conf
vi pip.conf
vi粘贴(P)下面内容
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple 
[install]
trusted-host = mirrors.aliyun.com
  • 配置虚拟环境
sudo pip install virtualenv
sudo pip install virtualenvwrapper
mkdir $HOME/.virtualenvs		# 配置目录保存虚拟环境
下面这块内容vi修改到~/.bashrc
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
退出vi保存
source ~/.bashrc
mkvirtualenv -p python3 虚拟环境名称
workon 虚拟环境		# 使用虚拟环境
deactivate		# 退出虚拟环境
rmvirtualenv 虚拟环境		# 删除虚拟环境
  • 安装git
    为图方便,用了yum安装,版本较低,若后续不满足再重新安装yum install git
    配置项目
git config --global user.name "XXXX"
git config --global user.email  "XXXXXXXXXX"  
ssh-keygen -t rsa  -C "用户邮箱"
cd ~/.ssh/;cat **.pub		# 查看公钥

复制公钥添加到GitHub上(下面会说到)

  • 克隆项目
  • 安装包
  • 留坑安装MySQL
  • 暴露服务端口
sudo iptables -I INPUT -p tcp --dport 9090 -j ACCEPT
sudo iptables-save
  • 安装MySQL5.7
    参考了这篇文章https://www.jianshu.com/p/276d59cbc529

  • 防火墙的配置

    1. centos7用的是firewalld 不是service iptables
    2. 查看firewall状态systemctl status firewalld, active显示deactivated表示没有开启。
    3. 开启防火墙systemctl start firewalld(重启后会恢复到原来的状态)systemctl enable firewalld(重启后不会恢复到原来的状态)
    4. 关闭防火墙systemctl stop firewalld(重启后会恢复到原来的状态)systemctl disable firewalld(重启后不会恢复到原来的状态)
    5. 防火墙开放80端口firewall-cmd --zone=public --add-port=80/tcp [-permanent]加上-permanent表示永久有效
    6. 查看防火墙开放的端口firewall-cmd --list-ports
  • 安装并配置nginx

    1. 下载到/usr/local/srcwget http://nginx.org/download/nginx-1.10.2.tar.gz还有openssl、zlib(解压缩的)、purc()
    2. 解压缩 tar -zvf x xx.tar.gz
    3. 安装 一般都是.config && make && make install 配置文件不都一样。
    4. . 修改nginx的配置文件 /usr/loacl/nginx/nginx.conf 的 / location为{ include uwsgi_params; uwsgi_pass 127.0.0.1:8080; uwsgi_read_timeout 2; }与wsgi关联,这样启动服务的时候通过uwsgi启动
    5. 设置通过用户名密码访问nginx: htpasswd -c /usr/local/nginx/passwd.db 用户名;添加用户名密码:htpasswd -b /usr/local/nginx/passwd.db 用户名 密码
    6. whereis nginx 找到nginx的安装目录,cd到该位置,开启nginx./sbin/nginx 重启nginx./sbin/nginx -s reload
  • 安装uwsgi并配置

    1. pip install uWSGI==2.0.18
    2. 在项目的maage.py的同级新建一个uwsgi的配置文件my_uwsgi.ini
    3. 编辑该ini文件
    4.  	```
       	[uwsgi]
       	# uwsgi启动服务的端口
       	socket = :8080
       	# 项目的完整路径
       	chdir = /home/zhx/web_code/zhang/zhanghuixin
       	# 相对于该配置文件(zhang_uwsgi.ini来说,项目里的wsgi文件)
       	module = zhanghuixin.wsgi
       	# 允许主进程的存在
       	master = true
       	# 最大进程数,最好和服务器的核数相同
       	processes = 1
       	# 当服务器自动退出的时候自动清除环境,删除unix socket和pid文件
       	vacuum = true
       	```
      
    5. 配置完与应用对接,上面nginx里的配置有跟uwsgi的对接,现在就可以通过uwsgi来启动服务了uwsgi -d --ini my_uwsgi.ini,-d表示后台运行,需要注意的是,ps -ntlp查到pid,kill pid的命令只是让uwsgi重启的,如果要停止该进程,需要killall -s INT uwsgi

三、本地(win10端)

  • pycharm新建项目文件夹,创建虚拟环境,安装完成后pycharm打开terminal没有自动用虚拟环境,需要手动cd到虚拟环境目录\scripts, 执行activate.bat激活运行
django-admin startprojects 项目名
python manage.py startapp 子应用名
  • 更改settings.py的数据库配置
  • 安装pymysql包,发现报错ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3,百度说可以安装mysqlclient包,直接pip安装又有报错,需要手动下载wle包,注意python版本要对应。
  • 配置git
git init  
创建.gitignor
git add .
git commit -m "first commit"  
git config --global user.name "你的GitHub用户名"
git config --global user.email "你的GitHub注册邮箱"
ssh-keygen -t rsa -C "你的GitHub注册邮箱"	# 添加公钥到远程仓库

关联本地仓库与远程

git remote add origin 远程仓库地址
git pull --rebase origin master		# pull下来README文件
git push origin master

现在项目基本框架已经搭完,后续就是业务功能了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值