部署是基于:centos7+nginx+uwsgi+python3+django 之上作的
1,详细步骤(下面步骤都是ROOT权限执行):mysql
1、更新系统软件包nginx
yum update -y
2、安装软件管理包和可能使用的依赖web
yum -y groupinstall "Development tools" yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel
3、下载Pyhton3到/usr/local 目录redis
wget https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tgz
解压sql
tar -zxvf Python-3.6.3.tgz
cd Python-3.6.3
编译安装到指定路径数据库
./configure --prefix=/usr/local/python3
/usr/local/python3 路径能够本身指定,本身记着就行,下边要用到。django
安装python3windows
make make install
安装完成以后 创建软连接 添加变量 方便在终端中直接使用python3
ln -s /usr/local/python3/bin/python3.6 /usr/bin/python3
Python3安装完成以后pip3也一块安装完成,不须要再单独安装
同样创建软连接
ln -s /usr/local/python3/bin/pip3.6 /usr/bin/pip3
4、查看Python3和pip3安装状况
5、安装virtualenv ,建议你们都安装一个virtualenv,方便不一样版本项目管理。
pip3 install virtualenv
创建软连接
ln -s /usr/local/python3/bin/virtualenv /usr/bin/virtualenv
安装成功在根目录下创建两个文件夹,主要用于存放env和网站文件的。(我的习惯,其它人可根据本身的实际状况处理)
mkdir -p /data/env mkdir -p /data/wwwroot
6、切换到/data/env/下,建立指定版本的虚拟环境。
virtualenv --python=/usr/bin/python3 pyweb
而后进入/data/env/pyweb/bin
启动虚拟环境:
source activate
留意我标记的位置,出现(pyweb),说明是成功进入虚拟环境。
CentOS7安装MySQL(完整版)
1 下载并安装MySQL官方的 Yum Repository
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
2, 使用上面的命令就直接下载了安装用的Yum Repository,大概25KB的样子,而后就能够直接yum安装了。
yum -y install mysql57-community-release-el7-10.noarch.rpm
3,安装MySQL服务器
yum -y install mysql-community-server
4, MySQL数据库设置
首先启动MySQL
systemctl start mysqld.service
查看MySQL运行状态,运行状态如图:
systemctl status mysqld.service
此时MySQL已经开始正常运行,不过要想进入MySQL还得先找出此时root用户的密码,经过以下命令能够在日志文件中找出密码:
grep "password" /var/log/mysqld.log
以下命令进入数据库:
mysql -uroot -p
输入初始密码(是上面图片最后面的 no;e!5>>alfg),此时不能作任何事情,由于MySQL默认必须修改密码以后才能操做数据库:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
其中‘new password’替换成你要设置的密码,注意:密码设置必需要大小写字母数字和特殊符号(,/';:等),否则不能配置成功
redis安装
下载安装包
wget http://download.redis.io/releases/redis-4.0.2.tar.gz
解压安装包并安装
tar xzf redis-4.0.2.tar.gz cd redis-4.0.2 make make install
5, 开启mysql的远程访问
执行如下命令开启远程访问限制(注意:下面命令开启的IP是 192.168.0.1,如要开启全部的,用%代替IP):
grant all privileges on *.* to 'root'@'192.168.0.1' identified by 'password' with grant option;
而后再输入下面两行命令
mysql> flush privileges; mysql> exit
而后在windows远程测试(也能够用可视化第三方navcat等)
mysql -h 148.70.75.219 -P 3306 -uroot -p
最后开始进行项目配置
1,安装uwsgi
pip install uwsgi
2,配置uwsgi,在项目根目录下(manage.py同层目录),新建uwsgi.ini
而后启动uwsgi
uwsgi -i uwsgi.ini
咱们查下是否启动成功
经过查询日志,成功运行,证实配置没有问题
配置项目静态文件
修改你的dango setting.py
DEBUG = False ALLOWED_HOSTS = ['*']
STATIC_ROOT = os.path.join(BASE_DIR,'static') #静态文件收集 配置路径且将 STATICFILES_DIRS 注释
而后收集你项目里的全部静态文件,
python manage.py collectstatic
3,安装nginx
切进 该 /usr/local/ 目录下,执行下面命令
wget http://nginx.org/download/nginx-1.13.7.tar.gz
下载完成后,执行解压命令:
tar -zxvf nginx-1.13.7.tar.gz
进入解压后的nginx-1.13.7文件夹,依次执行如下命令:
./configure make make install
nginx通常默认安装好的路径为/usr/local/nginx
在/usr/local/nginx/conf/中先备份一下nginx.conf文件,以防意外。
cp nginx.conf nginx.conf.bak
而后打开nginx.conf,把原来的内容删除,直接加入如下内容:
配置完成后,启动nginx
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf #启动nginx ./nginx -s reload #重启nginx (/usr/local/nginx/sbin下)
./nginx #启动nginx
查询是否启动成功
lsof -i:8000 查端口占用 ps -ef|grep nginx 查端口号 pkill -9 nginx 强制中止运行
如今打开浏览器便可进行访问。