Django之升天(上云)

首先,服务器要安装nginx和mysql,网站文件建议放在/usr/local/www,环境python3.6+mysql5.7,阿里云的服务器可以用公共镜像有一个配置好的,不然就自己装一下环境吧。

本项目文件名称wuliu

1.nginx配置

安装nginx

请一行一行敲Linux命令,莫要心急,心急吃不着豆腐

# gcc 安装
yum install gcc-c++

# PCRE pcre-devel 安装
yum install -y pcre pcre-devel

# zlib 安装
yum install -y zlib zlib-devel

# OpenSSL 安装
yum install -y openssl openssl-devel

#进入指定目录,一般为/usr/local下即可
cd /usr/local

#下载nginx包,如果没有wget命令,就yum install wget安装即可
wget -c https://nginx.org/download/nginx-1.10.1.tar.gz

# 解压
tar -zxvf nginx-1.10.1.tar.gz

# 配置
cd nginx-1.10.1
./configure

# 编译
make
make install

# 启动,停止nginx
cd /usr/local/nginx/sbin/  # 执行文件在此处

# 下面注意看注释!!!看注释!!不是让你把每一条都执行。。。别傻乎乎的连续敲,一会启动一会停止的,启动了就好了
./nginx # 启动 ./nginx -s stop # 停止 ./nginx -s reload # 重启
./nginx -t # 更改配置文件之后,此命令检测配置文件是否有问题,然后再去执行重启命令
# 查询nginx进程,确认启动状态 ps aux|grep nginx

 

注意配置文件位置,首先找到此文件

请看文件路径

修改配置文件

worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    server {
    listen      80;  # 监听端口,注意浏览器用的是80端口,你可以选择8000也行,你随意
    server_name yun-guo.top;  # 你的域名
    charset     utf-8;

    client_max_body_size 75M;


    location /static {  # django的项目静态文件,静态资源交给nginx来管理,如果网页样式、图片问题,基本就是此处配置问题
        alias /usr/local/www/book/bookmanage/booksys/static;
        }

    location / {  # uwsgi部署django项目的端口,自选,要和接下来的uwsgi服务启动的端口一致
        uwsgi_pass  127.0.0.1:8001;
        include     /usr/local/nginx/conf/uwsgi_params;  # 找一找你的nginx下的uwsgi_param文件,我的是在conf这个文件夹下
        }
    }

}

然后cd /usr/local/nginx/sbin下,执行./nginx -t,检测配置文件是否有错误,没有的话执行./nginx -s reload重启nginx,前提你之前启动过,不然就./nginx即可

2.项目文件

 

这是我的项目路径

3.uwsgi配置

首先pip install uwsgi

安装uwsgi

uwsgi可以用命令行带参数执行,本次用配置文件执行,uwsgi.ini,文件放置在项目中即可,与manage.py的文件内。

 

uwsgi.ini的内容

[uwsgi]
chdir = /usr/local/www/wuliu  # 项目路径,根目录
module = wuliu.wsgi:application  # 改一下项目名即可

master = True
processes = 4
harakiri = 60
max=requests = 5000

socket = 127.0.0.1:8001  # 设置运行的端口,不要有冲突即可
uid =1000
gid = 2000

pidfile = /usr/local/www/uwsgi.pid
vacuum = True

到项目目录下,执性uwsgi --ini uwsgi.ini,然后直接关掉窗口即可

如果用python虚拟环境,请添加

home = /usr/local/www/book/venv

指定虚拟环境文件

4.注意事项

mysql用pycharm连接问题

可能被拒绝远程,进行如下操作

如果想root用户使用password从任何主机连接到mysql服务器的话。

先进入mysql命令行,然后执行

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;

 

注意这个password是你另设置的远程连接密码,与你服务器mysql密码不是一个。这样就能用pycharm直接操作服务器的mysql了

django项目依赖问题

自己改一下服务器端的django版本等,执行makemigrations和migrate出现的问题,自行看报错,一般为依赖库问题

 

django项目更新代码处理

先FTP上传代码,覆盖原代码,然后查看你的uwsgi进程,

px aux|grep uwsgi  # 查看进程号

# 暴力结束
kill -9 进程号
# 干掉即可

然后找到之前的uwsgi配置文件,uwsgi.ini,再次启动即可

uwsgi --ini uwsgi.ini  # 无需过问nginx服务

 

转载于:https://www.cnblogs.com/xufengfan/p/10991423.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值