您的位置:首页 > 数据库 > SQL

Centos6.8 + Nginx + uwsgi + mysql + Django1.11 项目部署

2019-01-18 22:52 204 查看

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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: