康少带你python项目从部署到上线云服务器
首先,服务器要安装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
注意配置文件位置,首先找到此文件
修改配置文件
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.项目文件
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,然后直接关掉窗口即可
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出现的问题,自行看报错,一般为依赖库问题
最新文章
- Spark笔记:复杂RDD的API的理解(下)
- ViewPager之引导页
- CentOS 7网卡网桥、绑定设置
- System.UnauthorizedAccessException Access to the path ";/etc/mono/registry"; is denied.
- 【读书笔记】iOS-iCloud编程
- db2 怎么计算两个时间相差多少个月。如2015-10-10 和2014-1-12
- 年薪10W和100w的人差距在哪?
- 比较ASP生成静态HTML文件的几种方法
- POJ2250 - Compromise(LCS+打印路径)
- ♫【jQuery】detach
- WinDebug 常用命令表【摘】
- HTTP协议头部与Keep-Alive模式详解
- IPad分屏,当电脑第二显示屏
- Swift字符串插值
- 在JDBC中使用Java8的日期LocalDate、LocalDateTime
- 听翁恺老师mooc笔记(15)--文件的输入与输出
- LINUX 学习笔记 账号与群组的管理
- shiro注解和标签
- Spring框架第二天
- Educational Codeforces Round 3 E. Minimum spanning tree for each edge 最小生成树+树链剖分+线段树
热门文章
- java中两字符串比较--compareTo方法
- 8.JS数据类型
- Template Pattern
- [数据挖掘课程笔记]基于规则的分类-顺序覆盖算法(sequential covering algorithm)
- Oracle Meger into 函数
- spring cloud - 注册中心
- (linux)struct inode 和 struct file
- backbone测试代码
- hihocoder#1050 : 树中的最长路(树中最长路算法 两次BFS找根节点求最长+BFS标记路径长度+bfs不容易超时,用dfs做TLE了)
- codeforces 450B B. Jzzhu and Sequences(矩阵快速幂)