康少带你python项目从部署到上线云服务器

摘要:
首先,nginx和mysql应该安装在服务器上。建议将网站文件放在/usr/local/www中。环境是python 3.6+mysql5.7。阿里云服务器可以配置一个公共映像,也可以自己安装环境。通过这种方式,您可以使用pycharm在服务器上直接操作MySQL。您可以在服务器端更改django版本。如果运行makemigrations和migrates,则可以读取错误。这通常是一个数据库依赖性问题

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

本项目名称:loginOrRegister

对于小白来说首先我们需要干的一件事情就是安置与配置nginx下面就是nginx的配置

1.nginx配置

安装nginx

# 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

#进入指定目录
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进程
ps aux|grep nginx

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

img

修改配置文件

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的项目静态文件
        alias /usr/local/www/book/bookmanage/booksys/static;
        }

    location / {  # uwsgi部署django项目的端口
        uwsgi_pass  127.0.0.1:8001;
        include     /usr/local/nginx/conf/uwsgi_params;  # 找一找你的nginx下的uwsgi_param文件
        }
    }

}

然后cd /usr/local/nginx/sbin下,执行./nginx -t,检测配置文件是否有错误,没有的话执行./nginx,或者./nginx -s reload重启nginx

2.项目文件

img

3.uwsgi配置

首先pip install uwsgi

安装uwsgi

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

img

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,然后直接关掉窗口即可

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出现的问题,自行看报错,一般为依赖库问题

免责声明:文章转载自《康少带你python项目从部署到上线云服务器》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇如何解决webpack中css背景图片的绝对地址server的散热和Linux中温度的检測下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

关于面试总结12-接口自动化面试题

前言 前面总结了一篇关于接口测试的常规面试题,现在接口自动化测试用的比较多,也是被很多公司看好。那么想做接口自动化测试需要具备哪些能力呢? 也就是面试的过程中,面试官会考哪些问题,知道你是不是真的做过接口自动化测试?总的来说问的比较多的就是以下几个问题: 1.json和字典的区别? -对基础数据类型的考察 2.测试的数据你放在哪? -数据与脚本分离 3.参...

nginx使用多端口监听多个服务

###### nginx监听多个端口并转发给不同的服务 ### 第一个监听: upstream odoo { server localhost:8067; } upstream odoochat{ server localhost:8072; } server { listen 8070default_server; listen [::]:80...

转: python requests的安装与简单运用

requests是Python的一个HTTP客户端库,跟urllib,urllib2类似,那为什么要用requests而不用urllib2呢? 官方文档中是这样说明的: python的标准库urllib2提供了大部分需要的HTTP功能,但是API太逆天了,一个简单的功能就需要一大堆代码。插播个好消息!刚看到requests有了中文翻译版,建议英文不好的看看...

python之 paramiko模块 连接服务器

paramiko是一个基于SSH用于连接远程服务器并执行相关操作(SSHClient和SFTPClinet,即一个是远程连接,一个是上传下载服务),使用该模块可以对远程服务器进行命令或文件操作。 下载安装 pycrypto,由于 paramiko 模块内部依赖pycrypto,所以先下载安装pycrypto pip3 install pycrypto pi...

python与redis交互

前言 首先我使用电脑为:Macbook air,电脑操作系统版本为10.13.6,处理器1.8GHz Intel Core i5, 安装python 版本号:python3.6.5 ,ide: pycharm 前置,已经安装homebrew,安装homebrew流程参考 https://blog.csdn.net/ziyuzhiye/article/det...

java转python代码

今天发现一个好玩的工具:可以直接将java转成python 1. 安装工具(windows 环境下面) 先下载antlr: http://www.antlr3.org/download/antlr-3.1.3.tar.gz 链接:http://pan.baidu.com/s/1gdgXUM3 密码:2qrx 解压后,进入antlr-3.1.3 untime...