vue + nginx + uwsgi + django + mysql + redis发布web项目
路飞后端配置
先配置阿里云的源
python3的安装
后端uwsgi部署路飞
下载路飞代码
wget https://files.cnblogs.com/files/pyyu/luffy_boy.zip
解压
unzip luffy_boy.zip
requirements.txt的环境依赖
certifi==2018.11.29 chardet==3.0.4 crypto==1.4.1 Django==2.1.4 django-redis==4.10.0 django-rest-framework==0.1.0 djangorestframework==3.9.0 idna==2.8 Naked==0.1.31 pycrypto==2.6.1 pytz==2018.7 PyYAML==3.13 redis==3.0.1 requests==2.21.0 shellescape==3.4.1 urllib3==1.24.1 uWSGI==2.0.17.1
Linux安装virtualenv和virtualenvwrapper
创建新的虚拟环境
mkvirtualenv 18luffy
进入虚拟环境
workon 18luffy
安装这个文件 requirements.txt
pip3 install -i https://pypi.douban.com/simple -r requirements.txt
使用uwsgi去启动路飞学城后端
cd /opt/luffy_boy
迁移数据
python3 manage.py migrate
启动项目
python3 manage.py runserver 0.0.0.0:8000
浏览器访问地址
192.168.81.133:8000 #自己虚拟主机IP地址
如果浏览器没出来是防火墙没关
使用uwsgi.ini配置文件方式启动,内容如下
[uwsgi] #填写项目的绝对路径(第一层路径) chdir = /opt/luffy_boy/ #填写crm第二层目录下的wsgi.py文件的路径 module = luffy_boy.wsgi #填写虚拟环境的绝对路径 home = /root/Envs/18luffy master = true #基于uwsgi的多进程,根据cpu来优化 processes = 4 #如果你用了nginx反向代理,就填写socket参数 socket = 0.0.0.0:9001 #如果你没用nginx,想直接通过浏览器测试后端,使用http #http = 0.0.0.0:9001 vacuum = true
查看虚拟环境路径用
cdvirtualenv
然后pwd查看路径
然后用配置文件启动项目,确保目录下有uwsgi.ini
uwsgi --ini uwsgi.ini
启动nginx
nginx
退出虚拟环境进行以下安装
安装easy_install
pip3是python3的软件包管理工具
easy_install 是python2的软件包管理工具
yum install python-setuptools
安装supervisor
easy_install supervisor
创建supervisor的配置文件
echo_supervisord_conf > /etc/supervisor.conf
修改supervisor的配置文件,添加启动uwsgi的命令
supervisor其实就是帮咱们执行了,需要手动执行的命令而已
vim /etc/supervisor.conf
写入如下内容,在最底部写
[program:18luff] command=/root/Envs/18luffy/bin/uwsgi --ini /opt/luffy_boy/uwsgi.ini stopasgroup=true killasgroup=true
测试用supervisor启动uwsgi ,注意要确保此时uwsgi已经退出
pkill uwsgi
pkill -9 supervi
supervisord -c /etc/supervisor.conf #这是启动supervisor服务端命令
supervisorctl -c /etc/supervisor.conf #这是supervisor客户端管理命令
supervisor的命令
status 18luffy #查看状态
start 18luffy #启动任务
stop 18luffy #停止任务
前端vue部署
在 cd /opt 下下载文件
下载vue代码,解压缩
wget https://files.cnblogs.com/files/pyyu/07-luffy_project_01.zip
解压
unzip 07-luffy_project_01.zip
配置node环境,去打包编译vue代码
下载node的代码包
wget https://nodejs.org/download/release/v8.6.0/node-v8.6.0-linux-x64.tar.gz
解压缩node代码包
tar -zxvf node-v8.6.0-linux-x64.tar.gz
配置node的PATH环境变量即可
cd node-v8.6.0-linux-x64/bin
然后
pwd
路径
/opt/node-v8.6.0-linux-x64/bin
vim /etc/profile
编辑环境变量
PATH="/opt/python36/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/opt/s18tngx/sbin:/opt/node-v8.6.0-linux-x64/bin"
读取数据
source /etc/profile
检查路径是否正确
node -v #8.6.0
npm -v #5.3.0
编辑api.js
cd /opt/07-luffy_project_01/src/restful/
修改IP地址
sed -i "s/127.0.0.1:8000/192.168.81.133:9000/g" api.js
sed 是linux处理字符串的命令
-i 是将结果替换到文件
"s/127.0.0.1:8000/192.168.81.133:9000/g" #解释 s是替换模式 /你想替换的内容/你想替换的结果/ g是全局替换
对文件进行编辑
cd /opt/07-luffy_project_01
进行打包vue,生成静态文件夹 dist
确保你在vue的代码文件夹
npm install #解决vue代码所需的模块依赖
npm run build #进行编译打包
进行反向代理
cd /opt/s18tngx/conf
配置文件
vim nginx.conf
server { listen 80; server_name 192.168.81.133; location / { root /opt/07-luffy_project_01/dist; index index.html index.htm; }
第二个server
server { listen 9000; server_name 192.168.81.133; location / { uwsgi_pass 0.0.0.0:9001; include uwsgi_params; } }
wq!保存退出 重启nginx
nginx -s reload
启动redis,路飞学城用的是sqllite,不需要mysql
yum install redis -y #安装命令
systemctl start redis 启动redis
redis登录命令
redis-cli
登录后输入 ping 返回一个pong代表正确启动
windows访问路飞学城首页,查看课程列表 ,进行alex账户登录
账户: alex
密码: alex3714
登录后,添加django课程信息后,可以查看购物车信息,代表正确启动路飞学城