linux --- 7. 路飞学城部署
一.前端 vue 部署

1.下载项目的vue 代码(路飞学城为例),
wget https://files.cnblogs.com/files/pyyu/07-luffy_project_01.zip
解压缩
unzip -luffy_project_01.zip
2.配置 node环境
①下载node 的代码包
wget https://nodejs.org/download/release/v8.6.0/node-v8.6.0-linux-x64.tar.gz
②解压缩
tar -zxvf node-v8.6.0-linux-x64.tar.gz
③配置环境变量
① vim /etc/profile ②

③读取配置文件
source /etc/profile
3.验证node是否正确配置
node -v
npm -v (node就是如同python解释器 npm就是如同pip软件包管理工具)
4.修改vue的代码文件(api.js)
①路径在vue项目下
/opt/-luffy_project_01/src/restful
② 更改成自己的服务器ip地址
批量操作: sed -i "s/127.0.0.1:8000/192.168.226.128:9000/g" api.js
sed 是linux处理字符串的命令
-i 是将结果替换到文件
"s/127.0.0.1:8000/192.168.226.128:9000/g" #解释 s是替换模式
/你想替换的内容/你想替换的结果/ g是全局替换
api.js 你想修改操作的文件
5.打包 vue 生成静态文件夹 dist
npm install #解决vue代码所需的模块依赖 npm run build #进行编译打包 查看dist 是否已存在 cd /opt/07-luffy_project_01/node_modules/vue
二.前端 uwsgi 部署
1.下载后端代码 (以路飞学城为例)
wget https://files.cnblogs.com/files/pyyu/luffy_boy.zip
2.创建新的虚拟环境
mkvirtualenv luffy
3.解决环境依赖
解决环境依赖问题 ,可以用requirements.txt解决依赖问题 1.
vim requirements.txt #打开,
2. 编辑写入如下模块依赖包信息
certifi==2018.11.
chardet==3.0.
crypto==1.4.
Django==2.1.
django-redis==4.10.
django-rest-framework==0.1.
djangorestframework==3.9.
idna==2.8
Naked==0.1.
pycrypto==2.6.
pytz==2018.7
PyYAML==3.13
redis==3.0.
requests==2.21.
shellescape==3.4.
urllib3==1.24.
uWSGI==2.0.17.1 .安装这个文件 requirements.txt
pip3 install -i https://pypi.douban.com/simple -r requirements.txt
4.使用uwsgi 启动后端
使用uwsgi.ini配置文件方式启动,内容如下 [uwsgi]
# Django-related settings
# the base directory (full path)
#填写项目的绝对路径(第一层路径)
chdir = /opt/luffy_boy
# Django's wsgi file
#填写crm第二层目录下的wsgi.py文件的路径
module = luffy_boy.wsgi
# the virtualenv (full path)
#填写虚拟环境的绝对路径
home = /root/Envs/luffy # process-related settings
# master
master = true
# maximum number of worker processes
#基于uwsgi的多进程,根据cpu来优化
processes =
# the socket (use the full path to be safe #如果你用了nginx反向代理,就填写socket参数
#如果你用了nginx反向代理,就填写socket参数
#如果你用了nginx反向代理,就填写socket参数
#如果你用了nginx反向代理,就填写socket参数
#如果你用了nginx反向代理,就填写socket参数
socket = 0.0.0.0: #如果你没用nginx,想直接通过浏览器测试后端,使用http
#http = 0.0.0.0: # ... with appropriate permissions - may be needed
# chmod-socket =
# clear environment on exit
vacuum = true
5.使用 supervisor也去管理路飞的后台
[program:s18luffy]
command=/opt/python36/bin/uwsgi --ini /opt/luffy_boy/uwsgi.ini
stopasgroup=true
killasgroup=true

三. nginx反向代理转发
①修改nginx.conf内容如下 #虚拟主机1
server {
#第一个虚拟主机,监听的80端口
listen ;
server_name 192.168.226.128;
location / {
root /opt/s18luffy/-luffy_project_01/dist;
index index.html;
}
} #虚拟主机2 server {
listen ;
server_name 192.168.226.128;
location / {
uwsgi_pass 0.0.0.0:;
include uwsgi_params;
} } ② 重启nginx nginx -s reload
四.启动 redis
路飞学城用的数据库是sqllite,不需要mysql
1.下载安装
yum install redis -y
2.启动服务器
systemctl start redis
3.登录客户端
redis-cli 登录命令
4.验证
输入 ping
返回一个 pong 代表正确启动
五.验证是否部署成功
浏览器访问路飞学城首页,查看课程列表 ,进行alex账户登录
账户: alex
密码: alex3714 登录后,添加购买django课程信息后,
可以查看购物车信息,代表正确启动路飞学城
六.其他(永久关闭防火墙)
iptables -F #清空规则
systemctl stop firewalld #关闭防火墙服务
systemctl disable firewalld #禁止开机自启
linux --- 7. 路飞学城部署的更多相关文章
- linux vue uwsgi nginx 部署路飞学城 安装 vue
vue+uwsgi+nginx部署路飞学城 有一天,老男孩的苑日天给我发来了两个神秘代码,听说是和mjj的结晶 超哥将这两个代码,放到了一个网站上,大家可以自行下载 路飞学城django代码#这个代码 ...
- django环境部署 crm和路飞学城
环境依赖 yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-de ...
- vue+uwsgi+nginx部署路飞学城
vue+uwsgi+nginx部署路飞学城 有一天,老男孩的苑日天给我发来了两个神秘代码,听说是和mjj的结晶 超哥将这两个代码,放到了一个网站上,大家可以自行下载 路飞学城django代码 ht ...
- docker部署路飞学城
docker部署路飞学城blog来啦 部署需求分析: 之前是将nginx.django.vue直接部署在服务器上,既然学了docker,试试怎么部署在docker中 1.环境准备 一台linux服务器 ...
- 14,vue+uwsgi+nginx部署路飞学城
有一天,老男孩的苑日天给我发来了两个神秘代码,听说是和mjj的结晶 超哥将这两个代码,放到了一个网站上,大家可以自行下载 路飞学城django代码 https://files.cnblogs.com/ ...
- python 全栈开发,Day98(路飞学城背景,django ContentType组件,表结构讲解)
昨日内容回顾 1. 为什么要做前后端分离? - 前后端交给不同的人来编写,职责划分明确. - API (IOS,安卓,PC,微信小程序...) - vue.js等框架编写前端时,会比之前写jQuery ...
- 路飞学城Python爬虫课第一章笔记
前言 原创文章,转载引用务必注明链接.水平有限,如有疏漏,欢迎指正. 之前看阮一峰的博客文章,介绍到路飞学城爬虫课程限免,看了眼内容还不错,就兴冲冲报了名,99块钱满足以下条件会返还并送书送视频. 缴 ...
- 路飞学城Python-Day59(第五模块记录)
HTML部分 <!DOCTYPE html> <html lang="en"> <head> <!--head标签的主要作用:文档的头部主 ...
- 路飞学城Python-Day14
转载:python之路-路飞学城-python-book [25.常用模块-logging模块详解] [26.常用模块-logging模块详解2] [27.常用模块-logging模块日志过滤和日志文 ...
随机推荐
- [python]socket.listen(backlog)中的backlog含义
http://www.nosa.me/2015/09/16/socket-listenbacklog-%E4%B8%AD-backlog-%E6%8C%87%E7%9A%84%E6%98%AF%E4% ...
- Less 编译生成 css
开发模式下使用less.js <link rel="stylesheet/less" type="text/css" href="~/Conte ...
- C++对windows控制面板的操作
经常碰到程序无法卸载, 就老是骂微软搞的什么安装方式,安装好了不能卸载. 后来就打算研究一下windows是如何卸载程序的,一个程序安装完后留下了什么信息用于后面的卸载. 研究对象win7 64位, ...
- python接口自动化测试(c测试环境的准备)
接口测试的方式有很多,比如可以用工具(jmeter,postman)之类,也可以自己写代码进行接口测试,工具的使用相对来说都比较简单,重点是要搞清楚项目接口的协议是什么,然后有针对性的进行选择,甚至当 ...
- 向comboboxEdit中动态添加数据库中保存的用户自定义单位制的名称
if (radioGroup1.SelectedIndex == 2) { bool _Flag = true; sm.SetLciVisible(lciDelete, _Flag); sm.SetL ...
- Java编程基础篇第三章
逻辑运算符 与(&)(&&),或(||)(|),非(!) &和&&的区别 &:无论&的左边真假,右边都进行运算 &&:当 ...
- Centos Linux 下Pycharm 安装
原文链接 :https://www.cnblogs.com/shaosks/p/9173806.html 可以通过浏览器访问http://www.jetbrains.com/pycharm/,选择需要 ...
- Codeforces Round #539 div2
Codeforces Round #539 div2 abstract I 离散化三连 sort(pos.begin(), pos.end()); pos.erase(unique(pos.begin ...
- xcode工程编译错误之iOS解决CUICatalog: Invalid asset name supplied问题
[问题分析]: 这个问题其实是老问题,产生原因就是因为在使用的时候 [UIImage imageNamed:]时,图片不存在或者传入的图片名为nil. [解决方法]: 添加一个系统断点,来判断如果图片 ...
- vue 之组件递归;
在开发一个 PC 端的项目时,需要开发一个树状结构,直接上效果图如下:点击 "+" 号的时候则展开下一级,点击 "-" 号的时候则收起: 之所以写这篇博客,因为 ...