关于自己的网站-python-uwsgi-nginx-笔记

本文主要是将django项目放到云服务器上面

购买一个自己的服务器

这里先空着:

  1. 我目前还在摸索当中 ,只是买了一个服务器,很多细节我还不了解,后期会不断补充;
  2. 修改你的服务器密码,登录你的服务器,然后开始装装装

在服务器上安装python3

我买的是腾讯云服务器(10块钱一个月,买来测试,因为没有钱!!!!),腾讯云默认安装的是python2.7版本!!所以自己动手安装一下python3,不要问为什么,复制粘贴就对了!

  1. 转到cd目录下,我建议安装一个WinSCP,登录你的服务器,然后就可以看到你的文件夹啦!

cd /home
wget http://cdn.npm.taobao.org/dist/python/3.6.5/Python-3.6.5.tgz

  1. 解压安装python3

tar -zxvf Python-3.6.5.tgz

  1. 安装编译Python3源文件所需的编译环境

yum install -y gcc
yum install -y zlib*
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel

  1. 进入文件夹下面编译

cd Python-3.6.5/
./configure --prefix=/usr/local/python3 --with-ssl(这里是指定安装目录)
make
make install

  1. 建立软连接

ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

然后python3就算装好了

安装django

pip3 install django==3.0.4(给他指定版本,因为我本地的是用这个版本写的)

安装mysql

  1. mysql的安装源

wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

  1. 安装

rpm -ivh mysql80-community-release-el7-3.noarch.rpm
yum install mysql-server

  1. systemctl start mysqld.service #启动
    systemctl stop mysqld.service #关闭
    systemctl restart mysqld.service #重启
    systemctl status mysqld.service #查看状态
    systemctl enable mysqld.service #开机自启动
    systemctl disable mysqld.service #开机不自启动
  2. 启动mysql,找到你的数据库初始密码

tail -n2000 /var/log/mysqld.log

找到这句话:A temporary password is generated for root@localhost: oCWkjd5Olf)g,oCWkjd5Olf)g就是你的初始密码
5. 登录数据库

mysql -uroot -p

密码是刚才那个
6. 进去之后,修改你的密码

ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘******’;

******就是你修改的密码了,要复杂的不然设置不成功,有大小写数字加上符号
7. 创建一个新的用户,并授权

create user ‘abc’@’%’ identified with mysql_native_password by ‘*****’;
systemctl stop firewalld.service # 关闭防火墙,重启会重新开启
create database deepmovie charset utf8;这个是创建一个新的数据库
grant all privileges on . to ‘abc’@’%’; #授权所有库表+所有权限给wade在任何地方访问
flush privileges; #刷新授权

数据库就算装好啦,接下来就比较复杂了!

安装uwsgi

为什么这里比较复杂,因为刚开始啥都不懂很容易出错,我是通过WinSCP直接把django项目放在了服务器上
重要的事情放在前面!将你项目中setting.py文件中ALLOWED_HOSTS=[]改成这样:ALLOWED_HOSTS = [’*’],表示都可以访问,后面成功之后再修改这个地方

  1. 安装

pip3 install uwsgi

  1. 看一下你的项目能不能跑起来!

python manage.py runserver 0.0.0.0:8080

然后去浏览器打开你的网址(公网ip:8080)看看能不能成功访问,不能就先解决问题!直到你能成功跑起来!
我这里是失败了的,原因是因为我的django数据库版本,emmm,我没用django自带的数据库但是他会影响我,有相同问题的看下面!
报错信息:django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3.
这句话的意思就是版本不服,我虽然没用,但是这个不对还是不让我跑,我找了个可以解决的办法,大家也可以看别的办法:
通过WinSCP找到你django的安装目录,按照我的安装顺序的话,他的位置应该在/usr/local/python3/lib/python3.6/site-packages/下面,然后djando/db/backends/mysql下面找到base.py文件,找到这个地方把if后面的东西注释掉加上pass

version = Database.version_info
if version < (1, 3, 13):
pass
“”"
raise ImproperlyConfigured(
‘mysqlclient 1.3.13 or newer is required; you have %s.’
% Database.version
)
“”"

你还可能会遇到这个问题django的No module named ‘django.urls’,这是django版本不对
还有这个问题django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module.Did you install mysqlcl…
解决办法:进入到django项目的配置文件目录(包含setting.py文件的目录), 编辑 init.py 文件,# 添加如下内容
import pymysql
pymysql.install_as_MySQLdb()

我遇到过的问题就解决啦,还有其他问题的,自行解决

如果跑起来了就证明成功了,然后ctrl+c关掉你的项目!!!一定要关掉不然地址就要被占用啦!
ps -ef | grep python查看正在运行的python进程
4. 转到你django项目下面去,创建uwsgi.ini文件,前面的ip先设置成0.0.0.0,后面怎么改再说,端口要是没有被占用的!,项目目录一定要是你放项目的位置!

[uwsgi]
#使用nginx连接时使用
#socket=127.0.0.1:8080
#直接做web服务器使用
http=127.0.0.1:8080
#项目目录
chdir=/project/Caradmin
#项目中wsgi.py文件的目录,相对于项目目录
wsgi-file=Caradmin/wsgi.py
processes=4
threads=2
master=True
pidfile=uwsgi.pid
daemonize=uwsgi.log

  1. 启动uwsgi

uwsgi --ini uwsgi.ini

  1. 查看有没有启动成功

ps ajx|grep uwsgi

Alt
出现红框内的内容就是启动成功,然后去访问一下,还是(公网ip:8080)
如果有static的,务必请在uwsgi.ini文件最后加上static路径
按照我的就是:static-map = /static=/project/Caradmin/car/static
7. 退出uwsgi

uwsgi --stop uwsgi.pid

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值