1.安装Python3.6
下载依赖包
centos:
yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel gcc gcc-c++ openssl-devel libffi-devel python-devel mariadb-devel
ubuntu:
sudo apt-get install zlib1g-dev libbz2-dev libssl-dev libncurses5-dev default-libmysqlclient-dev libsqlite3-dev libreadline-dev tk-dev libgdbm-dev libdb-dev libpcap-dev xz-utils libexpat1-dev liblzma-dev libffi-dev libc6-dev
下载python3.6.2
wget https: // www. python. org/ ftp/ python/ 3.6 .2 / Python- 3.6 .2 . tgz
tar - xzvf Python- 3.6 .2 . tgz - C / tmp
cd / tmp/ Python- 3.6 .2 /
把Python3.6安装到 /user/local目录
. / configure -- prefix= / usr/ local
make
make altinstall
更改/user/bin/python链接
ln - s / usr/ local/ bin/ python3. 6 / usr/ bin/ python3
如果:Linux服务器报错:ln: failed to create symbolic link ‘/ usr/ bin/ python’: File exists
重新输入:ln - sf / usr/ local/ bin/ python3. 7 / usr/ bin/ python3
maridb
1. 安装
sudo yum install mariadb- server
/ / linux 查看进程:ps aux | grep mysql
2. 启动, 重启
sudo systemctl start mariadb
sudo systemctl restart mariadb
/ / 进入mqsql交互环境:mysql - uroot
3. 设置bind- ip
vim / etc/ my. cnf
/ / 之后按i进去配置
在 [mysqld] :
下面加一行
bind- address = 0. 0. 0. 0
4. 设置外部ip可以访问
先进入mysql交互环境才能运行下面命令:
GRANT ALL PRIVILEGES ON * . * TO 'root' @'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON * . * TO 'root' @'localhost' IDENTIFIED BY '123456' WITH GRANT OPTION;
FLUSH PRIVILEGES / / 刷新权限 必须要运行
5. 设置阿里云的对外端口
视频中有讲解这部分
6. 安装mysqlclient出问题
centos 7:
yum install python- devel mariadb- devel - y
ubuntu:
sudo apt- get install libmysqlclient- dev
然后:
pip install mysqlclient
7. 安装redis
yum install redis
service redis start
/ / sudo systemctl start redis 启动
/ / sudo systemctl restart redis 重启
安装Nginx
https:/ / www. digitalocean. com/ community/ tutorials/ how- to- install- nginx- on- centos- 7
1. sudo yum install epel- release
2. sudo yum install nginx
3. sudo systemctl start nginx
安装virtualenvwrapper
yum install python- setuptools python- devel
pip install virtualenvwrapper
编辑. bashrc文件 / / vim ~/ . bashrc
export WORKON_HOME=$HOME / . virtualenvs
source / usr/ local/ bin/ virtualenvwrapper. sh / / 如果不在此目录 可以sudo find / - name virtualenvwrapper. sh 查找所在目录
重新加载. bashrc文件
source ~/ . bashrc
新建虚拟环境
mkvirtualenv - p python3 mxonline
进入虚拟环境
workon mxonline
文件上传后:
安装pip包
我们可以通过 pip freeze > requirements. txt 将本地的虚拟环境安装包相信信息导出来
然后将requirements. txt文件上传到服务器之后运行:
pip install - r requirements. txt
安装依赖包
安装uwsgi
pip install uwsgi
测试uwsgi
uwsgi -- http :8000 -- module MxOnline. wsgi
配置nginx
新建uc_nginx. conf
upstream django {
server 127. 0. 0. 1:8000;
}
server {
listen 80;
server_name 你的ip地址 ;
charset utf- 8;
client_max_body_size 75M;
location / media {
alias 你的目录/ Mxonline/ media;
}
location / static {
alias 你的目录/ Mxonline/ static;
}
location / {
uwsgi_pass django;
include uwsgi_params;
}
}
将该配置文件加入到nginx的启动配置文件中
sudo ln - s 你的目录/ Mxonline/ conf/ nginx/ uc_nginx. conf / etc/ nginx/ conf. d/
拉取所有需要的static file 到同一个目录
在django的setting文件中,添加下面一行内容:
STATIC_ROOT = os. path. join( BASE_DIR, "static/" )
运行命令
python manage. py collectstatic
运行nginx
sudo / usr/ sbin/ nginx
通过配置文件启动uwsgi
新建uwsgi. ini 配置文件, 内容如下:
[uwsgi]
chdir = / home/ bobby/ Projects/ MxOnline
module = MxOnline. wsgi
master = true
processes = 10
socket = 127. 0. 0. 1:8000
vacuum = true
virtualenv = / home/ bobby/ . virtualenvs/ mxonline
logto = / tmp/ mylog. log
注:
chdir : 表示需要操作的目录,也就是项目的目录
module: wsgi文件的路径
processes: 进程数
virtualenv:虚拟环境的目录
workon mxonline
uwsgi - i 你的目录/ Mxonline/ conf/ uwsgi. ini &