- 把Linux_setup文件夹复制到用户根路径中,包含主要的安装文件
- 压缩文件中有zip文件,需要先安装unzip才能解压。安装方法:
Ubuntu: sudo apt-get install zip
Centos: yum install -y unzip zip - 解压Python,使用tar zxvf Python361.tgz。解压zip,用刚才装的unzip。剩下的,使用for tar in *.tar.gz; do tar xvf $tar; done
- 用终端进入刚才解压的Python文件夹,执行./configure,如果提示没有C编译器,就先用apt install安装gcc
- sudo make install,安装Python,这里要有耐心,时间会比较长,要2-3分钟。安装路径为/usr/local/lib/python3.6。如果提示没有make命令,就先用apt install安装make
- 让python指令指向新装的3.6.1
# 第1步,把以下快捷方式路径直接干掉。如实在不敢确定,就用which python去找
sudo rm -f /usr/bin/python
# 第2步,按照第1步的方法找到3.6的路径,并执行链接!
sudo ln -s /usr/local/bin/python3.6 /usr/bin/python
- 安装setuptools,如果运气足够好,在装好python3.6.1后,setuptools就已经装好了,这样可以直接装pip。但一般除了腾讯云之外的Ubuntu都不会这么好运,会遇到six, pyparsing, packaging, appdir的安装。这还不够,装好后再装setuptools时可能还提示需要装zlib。对于这个问题,需要使用sudo apt-get install zlib1g-dev,然后回到python重新make make install。如果在PIP时遇到SSL的问题,可以sudo apt-get install openssl,sudo apt-get install libssl-dev来解决,同样也需要重新make install。
- 安装Django,可以使用刚才解压的文件夹,直接进行python setup.py install。装好后可以在python命令行里测试一下:
import django
# 能打印版本号说明安装成功啦!
django.VERSION
-
以下描述对mysql的安装:
9.1. sudo apt-get install mysql-server。安装期间会弹出界面,输入两次密码,就完成安装了。
9.2. mysql -u root -p,会要求输入密码。
9.3. 创建一个用户,CREATE USER 'username'@'%' IDENTIFIED BY 'password';。这里的%代表可以在外网访问。
9.4. grant all privileges on 数据库.* to username;这样,就可以给一个用户,对一个database赋予所有权限。一般不建议给多个数据库赋予权限。
9.5. 可以使用show databases;查看所有数据库,然后使用use mysql;进入mysql数据库,然后使用select host,user from mysql.user;查看所有用户,这样就可以看到刚才创建的用户有木有成功。然后输入\q退出整个程序。
9.6. 最重要的一步,/etc/mysql/mysql.conf.d/mysqld.cnf,把bind-address = 127.0.0.1注释掉。然后还有!要把mysql重启一下。这样数据库就可以在外网访问了。外网访问不建议用root用户,就用刚才创建的用户。
9.7. 重启mysql的方法:/etc/init.d/mysql restart,可以使用/etc/init.d/mysql status查看mysql服务状态! -
sudo pip install uwsgi。这里我们也可以非常装逼地使用sudo pip install uwsgi --upgrade,即如果已经存在了,就更新(实验证明这个装B方法有的时候竟然还是非常实用的)
-
在Django项目的配置文件夹中写一个uwsgi_project.ini文件
# 既然用了python,能用ini当然不要再用xml了
# 这一行配置头一定要加,不然无法识别配置内容
[uwsgi]
http = :8100
socket = :8200
chdir = /root/django_project/dance_wh/dance_wh
module = wsgi
# 这个属性很NB,能够使wsgi托管到后台,runserver就做不到!
daemonize = /root/code/circumstance.log
# 这个太重要了,木有这个那每次改代码只能重启了,而且重启还成功率有限
py-autoreload = 1
配置好后,使用命令把uwsgi跑起来。如果遇到起不来的情况就使用最原始的一路--的方法。
uwsgi --ini uwsgi_project.ini
- 装nginx。如果是Centos,使用yum install nginx,配置文件在/etc/nginx/nginx.conf。如果是Ubuntu,使用sudo apt-get install python-dev nginx,配置文件为/etc/nginx/sites-available/default
- 进行配置:注意,如果需要先删除所有的内容,可以使用:1,$d
# 在这个配置文件中,最重要的是说明3点
# 1.网址端口号
# 2.访问路由时,跳转的uwsgi地址
# 3.访问静态文件时,跳转的路径
server {
listen 8000;
# 这里我听到的说法是,如果有域名就写网址,如果没有就随便起一个名,但不能不写
server_name gogogo;
location / {
# 标明socket跳转地址
uwsgi_pass 127.0.0.1:8200;
# 这一行决定nginx和uwsgi的连接!如果不放心可以写成include /etc/nginx/uwsgi_params;
include uwsgi_params;
}
# 这里我只配置了一个css和js的静态文件路径,如果需要png和mp3,再另外配置一个media,方法相同
location /static {
alias /django_project/dance_wh/school_att/static;
# 每10秒清除一次缓存,便于开发。默认是12h
expires 10s;
}
}
- 如果是uwsgi需要重启,需要用ps -ef,如果是nginx,倒好一些。注意,nginx必须启动在超级管理员下,这点与uwsgi不同。
# 如果还没有启动,输入
sudo nginx
# 如果已经启动了,输入
sudo nginx -s reload
# 如果单纯想停止,输入
sudo nginx -s stop
- 如果系统的用户名是root,那么就与root平行新建一个文件夹,用于存放项目。不然nginx不能读取项目中的静态文件
- 如果出现No module named 'MySQLdb',那么pip install mysqlclient,如果发现不能安装那么先sudo apt-get install libmysqlclient-dev
网友评论