1 安装python环境和所需库
1 检查python环境
2 检查pip是否可用
不可用,使用命令apt-get install python-pip进行安装,出现安装不了
问题是需要更新系统镜像源
备份系统镜像源文件cp /etc/apt/sources.list /etc/apt/sources.list.backup
打开并修改vi /etc/apt/sources.list
添加以下内容:
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted univer
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security multiverse
更新系统镜像源apt-get uptate,重新安装pip成功,但使用Pip出现问题
解决方法,系统镜像源添加以下内容:
deb http://cn.archive.ubuntu.com/ubuntu bionic main multiverse restricted universe
deb http://cn.archive.ubuntu.com/ubuntu bionic-updates main multiverse restricted universe
deb http://cn.archive.ubuntu.com/ubuntu bionic-security main multiverse restricted universe
deb http://cn.archive.ubuntu.com/ubuntu bionic-proposed main multiverse restricted univers
再次更新系统镜像源,卸载pip , apt-get remove python-pip,再重新安装apt-get install python-pip
3 安装项目所需的python 库
python3 -m pip install -r requirements_blog.txt
2 安装数据库并迁移数据
1安装配置MySQL
安装命令:
sudo apt-get install mysql-server //服务端
sudo apt-get install mysql-client //客户端
sudo apt-get install libmysqlclient-dev //程序编译时链接的库
安装完成之后可以使用如下命令来检查是否安装成功:sudo netstat -tap | grep mysql
安装成功登录:mysql -u root -p ,输入初始密码(直接回车)
更改mysql密码如下:
use mysql;
// 下一行,密码改为了yourpassword,可以设置成其他的
update mysql.user set authentication_string=password('yourpassword') where user='root' and Host ='localhost';
update user set plugin="mysql_native_password";
flush privileges;
quit;
设置允许远程登录:
首先编辑文件/etc/mysql/mysql.conf.d/mysqld.cnf:
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
注释掉bind-address = 127.0.0.1:
保存退出,然后进入mysql服务,执行授权命令:
grant all on *.* to root@'%' identified by '你的密码' with grant option;
flush privileges;
重启mysql服务,进行远程连接
service mysql restart
2 迁移数据库
1 导出(转储sql文件)项目所需数据库.sql文件到windows本地, 在服务器上建一个同名数据库(注意字符集和排序与原来一致)
2 用可视化工具导入sql(运行sql文件)到部署服务器(如Ubuntu),或上传sql 文件到服务器,并执行sql脚本【 Mysql 的 bin 目录】 \mysql – u 用户名 – p 密码 – D 数据库 < 【 sql 脚本文件路径全名】,示例:mysql -u root -p123456 -D djangoblog < /root/djangoblog.sql
3 安装项目其他依赖服务(例如redis或mongodb)
略
4 Django开发模式调试
把项目传到指定路径并解压(一般不要放在root下),开启django调试模式,无异常
5 安装并配置nginx服务
1 安装nginx 依赖包
出现Unable to acquire the dpkg frontend lock问题,解决方案重启系统
sudo systemctl --force --force reboot
再继续安装
apt-get install gcc
apt-get install libpcre3 libpcre3-dev
apt-get install zlib1g zlib1g-dev
sudo apt-get install openssl
sudo apt-get install libssl-dev
2 下载并解压nginx
cd /usr/local
mkdir nginx
cd nginx
wget http://nginx.org/download/nginx-1.13.7.tar.gz
tar -xvf nginx-1.13.7.tar.gz
3 编译并安装
进入nginx目录
/usr/local/nginx/nginx-1.13.7
执行命令
./configure
执行make命令
make
执行make install命令
make install
4 启动nginx,进入浏览器测试
进入nginx启动目录
cd /usr/local/nginx/sbin
启动nginx
./nginx
输入服务器IP测试
5 修改 nginx 配置文件
1 把nginx 安装目录下的 nginx.conf 文件 copy 到项目目录下,如下
cp /usr/local/nginx/conf/nginx.conf /home/DjangoBlog/blog_nginx.conf
2 进入blog_nginx.conf文件 ,修改如下内容:
|
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
定义nginx 访问和错误的路径
access_log /home/DjangoBlog/nginx_access.log;
error_log /home/DjangoBlog/nginx_error.log;
location /static {
# 定义静态文件的系统绝对路径(跟系统静态文件路径一致)
alias /home/DjangoBlog/collectedstatic;
}
location / {
# 定义uwsgi_params 和与uwsgi 通信的本地端口
include /usr/local/nginx/conf/uwsgi_params;
uwsgi_pass 127.0.0.1:9090;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
|
将nginx 安装目录下的mime.types 文件copy 到项目根目录下
cp /usr/local/nginx/conf/mime.types /root/DjangoBlog
6 按指定文件启动nginx
/usr/local/nginx/sbin/nginx -c /home/DjangoBlog/blog_nginx.conf
/usr/local/nginx/sbin/nginx -c /home/DjangoBlog/blog_nginx.conf -s reload
备注: 后续操作服务命令
执行nginx /usr/local/nginx/sbin/nginx
重载nginx /usr/local/nginx/sbin/nginx -s reload
终止nginx /usr/local/nginx/sbin/nginx -s stop
6 安装并配置uwsgi服务
1 安装uwsgi
python3 -m pip install uwsgi
2 配置 uwsgi 文件
在项目根目录下创建uwsgi.ini,并进入添加如下内容
[uwsgi]
socket = 127.0.1:9090 # 与nginx 配置文件的uwsgi_pass 一致
chdir=/home/DjangoBlog # 项目绝对路径
module= DjangoBlog.wsgi # [wsgi.py](http://wsgi.py/)在项目中的相对路径
master = true # 开启主进程
processes=2 # 配置子进程数
threads=2 # 配置线程数
max-requests=2000
chmod-socket=664
vacuum=true
# daemonize=/home/DjangoBlog/uwsgi.log# uwsgi日志的存储路径,不需要重定向输出应注释掉
3 启动uwsgi
Uwsgj --ini 配置文件绝对路径,如:
uwsgi --ini /home/DjangoBlog/uwsgi.ini