Centos6.8 + Nginx + uwsgi + mysql + Django1.11 项目部署
Centos6.8 + Nginx + uwsgi + mysql + Django1.11
1、安装mysql
yum install -y mysql-server mysql mysql-devel
service mysqld start #启动mysql服务
修改MySQL密码
/usr/bin/mysqladmin -u root password ‘newPassword’
链接MySQL并创建数据库
mysql -uroot -p
CREATE DATABASE mall;
配置数据库(创建不限主机的root账户)
grant all privileges on . to ‘root’@’%’ identified by ‘111111’ with grant option;
刷新权限
flush privileges;
2、源码安装Python3.5
yum install openssl-devel -y
下载Python源码包
wget https://www.python.org/ftp/python/3.5.6/Python-3.5.6.tgz
解压
tar zxvf Python-3.5.6.tgz
cd Python-3.5.6
配置并编译安装
./configure --prefix=/usr/local/python3
make && make install
创建链接到bin目录
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
安装虚拟环境
yum install -y python-virtualenv
安装上传下载工具
yum install -y lrzsz
安装解压工具
yum install -y unzip
创建虚拟环境
cd ~
mkdir .virtualenv
cd .virtualenv
virtualenv django -p /usr/bin/python3
启动虚拟环境
cd django/
source bin/activate # 启动虚拟环境
导出项目依赖包
在本地项目执行 pip freeze > requirements.txt
将生成的文件上传到服务器
更新pip
pip install --upgrade pip
将本地requirements.txt上传至服务器,并执行
pip install -r requirements.txt
创建项目目录
mkdir -p /var/data/html
1、复制本地项目文件,
2、删除迁移文件
3、修改settions.py 关闭调试模式,
将项目文件压缩为zip格式,上传至服务器/var/data/html目录
cd /var/data/html
rz
unzip 项目.zip
cd mall(项目目录)
迁移结构到数据库
python manage.py makemigrations
python manage.py migrate
启动开发服务器,测试是否成功
python manage.py runserver 0.0.0.0:8000
访问网站
本地连接mysql
导入数据
安装uWSGI
进入虚拟环境
pip install uwsgi
在项目的根目录下建立文件 uwsgi.ini 添加内容
[uwsgi]
Django-related settings
http = :9000
#socket = 127.0.0.1:5000 #和nginx一致的端口,且安全组已经打开次端口
Django项目根目录 (绝对路径)
chdir = /var/data/html/mall
wsgi-file = /var/data/html/mall/mall/wsgi.py #项目中wsgi.py所在的路径
wsgi.py文件在项目中的位置
module = mall.wsgi:application
process-related settings
master
master = true
运行的进程数
processes = 4
#多站模式
vhost = true
#虚拟环境(最最最重要的)
pythonpath = /root/.virtualenv/django/lib/python3.5/site-packages
vacuum = true
启动
uwsgi --ini uwsgi.ini
安装 nginx
yum -y install nginx
在 /etc/nginx/conf.d 创建 test.conf
server {
#这里是访问时用到的端口
listen 80;
server_name 39.107.33.30; #公网的IP
charset UTF-8;
#这块存让日志文件
#access_log /var/log/nginx/Buy_access.log;
#error_log /var/log/nginx/Buy_error.log;
client_max_body_size 75M;
location / {
include uwsgi_params; #引入uwgi_params在nginx.conf同一目录
#同uwsgi内容
uwsgi_pass 127.0.0.1:9000; #重点 必须和uwsgi一致
#链接超时时间
uwsgi_read_timeout 30;
}
location /static{
alias /var/data/html/mall/static; #静态文件绝对地址
}
}
修改/etc/nginx/conf.d/default.conf文件
注释 这行代码 listen [::]:80 default_server;
修改 项目目录下 uwsgi.ini 文件
创建目录用户记录日志
mkdir -p /var/data/log
后台启动 uwsgi
uwsgi --ini uwsgi.ini --daemonize /var/data/log/uwsgi.log
启动nginx服务
service nginx start
killall -s INT /root/.virtualenv/django/bin/uwsgi
其他命令:
cat /etc/pure-ftpd/pureftpd.passwd
- Centos7+django1.11+ngnix+uwsgi+python3.6项目部署
- Ubuntu虚拟机部署python3.6+Django1.11项目
- Linux-web项目部署,django1.9跑django1.11的项目,报错
- 第一个Django项目及部署到Sina App Engine
- 在阿里云ECS上部署 Django+MySQL+uWSGI+Nginx 项目的基本流程
- nginx + uwsgi 部署Django项目
- 如何设置django项目的设置(settings.py)和部署文件(requirements.txt)
- Ubuntu 下面部署Django 项目
- windows+Apache部署django项目
- 在Apache上部署Django项目,初步
- Ubuntu 服务器上Apache + WSGI 部署Django项目
- nginx+uwsgi+django部署python项目
- 部署django项目
- apache2.4+python2.7+mod wsgi部署django1.10项目
- win7下安装Django1.11,并创建简单项目运行
- windows下apache部署django项目个人总结(备查)
- django项目部署在Apache服务器中,静态文件路径的注意点
- ubuntu下部署Django项目(成功)
- 阿里云 ubuntu 部署django项目简单配置
- 向云服务器部署django项目