wget https://www.python.org/ftp/python/3.6.7/Python-3.6.7.tar.xz
- 解压安装包
tar -xf Python-3.6.7.tar.xz
- 进入目标文件
cd Python-3.6.7
- 配置安装路径
./configure --prefix=/usr/local/python3
- 编译并安装
make && sudo make install
- 建立软连接:终端命令 python3,pip3
ln -s /usr/local/python3/bin/python3.6 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3.6 /usr/bin/pip3
服务端安装nginx
- 前往用户根目录
cd ~
- 下载nginx1.13.7
wget http://nginx.org/download/nginx-1.13.7.tar.gz
- 解压安装包
tar -xf nginx-1.13.7.tar.gz
- 进入目标文件
cd nginx-1.13.7
- 配置安装路径:/usr/local/nginx
./configure --prefix=/usr/local/nginx
- 编译并安装
make && sudo make install
- 建立软连接:终端命令 nginx
ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx
- 测试Nginx环境,服务器运行nginx,本地访问服务器ip
nginx
服务器绑定的域名 或 ip:80
- nginx的相关命令
nginx #启动nginx命令
nginx -s reload # 重启nginx
nginx -s stop # 结束nginx
服务端配置虚拟环境
- 安装依赖
pip3 install virtualenv
pip3 install virtualenvwrapper
- 建立虚拟环境软连接
ln -s /usr/local/python3/bin/virtualenv /usr/bin/virtualenv
- 配置虚拟环境:填入下方内容
vim ~/.bash_profile # 打开该文件添加以下内容
VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/python3/bin/virtualenvwrapper.sh
- 更新配置文件内容
source ~/.bash_profile
- 关于虚拟环境的一些命令
# 创建虚拟环境
mkvirtualenv luffy
# 进入虚拟环境
workon luffy
# 退出虚拟环境
deactivate
配置上传前台项目
- 将base_url设置成自己服务器的公网ip
base_url: 'http://39.99.192.127:8000', // 真实环境:django项目就是跑在8000端口上的
- 本地前台项目打包,前往luffycity项目目录下,打包前台项目成一个dist文件夹
cnpm run build
- 本地终端上传dist文件夹到服务器根目录下
scp -r dist root@39.99.192.127:~
-r表示文件夹一起传 root为服务器用户名,@后面为服务器ip,~表示传到根目录下
-
在服务端,将dist文件夹从~根目录下移动到home文件夹下,并将dist文件夹重命名为html
mv ~/dist /home/html
-
去向Nginx配置目录,备份配置,完全更新配置:填入下方内容
cd /usr/local/nginx/conf # 进入nginx的配置文件目录
mv nginx.conf nginx.conf.bak # 将nginx原本的配置文件重新移到一个新的文件nginx.conf.bak里
vim nginx.conf # 新建一个nginx.conf文件配置以下内容
# events表示最大连接数
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
server {
# 监听的80端口
listen 80;
server_name 127.0.0.1; # 改为自己的域名,没域名修改为127.0.0.1:80
charset utf-8;
location / {
# 访问根路径时去root里找html文件夹里的index.html
root /home/html; # html访问路径
index index.html; # html文件名称
try_files $uri $uri/ /index.html; # 解决单页面应用刷新404问题
}
}
}
此时,在访问服务端的ip地址,默认就会显示前台项目的页面
配置上传后台项目
- 创建存放后台项目的目录
mkdir /home/project
- 将远端的项目拉到服务器上
cd /home/project
# 从gitee或者github上拉下项目
git clone https://gitee.com/doctor_owen/luffyapi.git(项目地址)
- 配置虚拟环境
mkvirtualenv luffy
workon luffy
# 在虚拟环境中安装项目所需要的包
pip install -r requirement.txt
- 对服务端项目的数据库进行相应的操作
1)管理员连接数据库
mysql -uroot -p
2)创建项目对应数据库
create database luffy default charset=utf8;
3)设置权限账号密码:账号密码要与项目中配置的一致
create user 'username'@'%' identified by 'password';
grant all privileges on 库名.* to 'username'@'%' with grant option;
flush privileges;
4)退出mysql
quit;
搞完,本地的navicat就可以连接到服务端的数据库了(注意需要服务器开放3306端口)
删除,项目文件里的迁移文件,再执行数据库迁移命令
迁移完执行创建超级管理员命令,创建超级管理员!!
- 安装uwsgi,使用uwsgi代替python manage.py runserver启动项目
# 1)在真实环境和虚拟环境都要安装uwsgi
pip3 install uwsgi
uwsgi的基础命令:
uwsgi -x /home/project/siteapi/site.xml # 启动uwsgi
pkill -f uwsgi -9 # 关闭uwsgi
ps -aux|grep uwsgi # 查看uwsgi进程
# 2)建立软连接
ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi
# 3) 进行uwsgi服务配置,内容如下
vim /home/project/luffyapi/luffyapi.xml # 创建一个xml文件并配置