第一步:更换yum的源,更换为国内的阿里云,这是为了方便安装python3的依赖
- 备份一下原本的yum源:
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
- 下载阿里云的yum源【我下的是CentOS7的,如果需要其他版本,那么只需要将下面的7改成5或6即可】【这一步需要能联网】:
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
之后运行给install生成缓存
yum makecache
第二步:直接通过yum来安装python3
- 下载python3【我下的是3.6.5】:
wget "https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz"
- 解压压缩包:
tar -zxvf Python-3.6.5.tgz
-
进入目录:
cd /tmp/Python-3.6.5/
-
安装python3的依赖
yum -y groupinstall "Development tools"
yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel
- 配置安装,把Python3安装到 /usr/local 目录【这里是可以自己选择安装到哪里,注意,如果不先安装依赖库,则这里会报错】:
-
./configure --prefix=/usr/local/python3 【这个安装路径下面的bin有python3.6命令,后面后面要使用软链接链接过来的位置。】
-
- 安装python3 :
make
make install
- 检查python命令:
进入目录,查看链接情况:
cd /usr/bin
ln -s /usr/local/python/bin/python3.6 /usr/bin/python3
第三步:创建虚拟环境并进入
python3 -m venv /home/python3.6.5
source /home/python3.6.5/bin/activate
第四步:相关环境搭建
yum install python-dev
yum install python-pip
yum install libxml*
yum install net-tools
yum install lsof
第五步:安装数据库及服务器
------安装mysql数据库---------
yum install mysql-server
yum install mysql-client
yum install libmysqlclient-dev
------更新pip版本---------
pip install --upgrade pip
------安装SSH---------
yum install openssh-server
------安装 Nginx---------
yum install nginx
------安装 uwsgi---------
pip install uwsgi
------安装Django---------
pip install django==2.1.8
第六步:测试Uwsgi
测试uwsgi
def application(env, start_response):
start_response('200 OK', [('Content-Type','text/html')])
return “HelloWorld”
uwsgi --http :8001 --wsgi-file test.py
show variables like 'character_set_database';
create database <数据库名> character set utf8;
第七步:将项目上传到Linux系统中
第八步:修改Django项目
-------修改django项目的配置文件-----------
DEBUG = False
ALLOWED_HOSTS = ["*"]
-------静态文件-----------
说明:STATIC_ROOT必须设置,而且和STATICFILES_DIRS
不能共存
在django的setting文件中,添加下面一行内容:
STATIC_ROOT = os.path.join(BASE_DIR, "static/")
然后运行(收集admin后台的静态文件,如果不收集,将来访问linux的blog的admin将没有样式):
python manage.py collectstatic
第九步:Nginx和Uwsgi文件配置
为你的项目创建一个uwsgi的配置文件,后缀为ini
[uwsgi]
socket = 127.0.0.1:9001
chdir = /home/linux/Desktop/MyBlog
wsgi-file = MyBlog/wsgi.py
master = True
processes = 4
threads = 2
master=True
deamonize=/var/log/uwsgi/djangoProject.log
pidfile= /var/log/nginx/uwsgi.pid
vacuum = True
reload-mercy = 10
max-requests = 5000
limit-as = 512
buffer-size = 30000
----进入etc/nginx/conf.d文件夹下创建django_nginx.conf文件------
server {
listen 8000;
server_name 127.0.0.1
access_log /var/log/nginx/myblog_access.log;
error_log /var/log/nginx/myblog_error.log;
charset utf-8;
client_max_body_size 75M;
root /home/linux/Desktop/MyBlog;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:9001;
uwsgi_read_timeout 2;
}
location /static/ {
expires 30d;
autoindex on;
add_header Cache-Control private;
alias /home/linux/Desktop/MyBlog/static/;
}
}
第十步:运行项目
----通过uwsgi运行django项目------
重启nginx: sudo service nginx restart
uwsgi –ini 配置文件的路径(myblog_uwsgi.ini)