linux --- 7. 路飞学城部署

一.前端 vue 部署

  1.下载项目的vue 代码(路飞学城为例),

wget https://files.cnblogs.com/files/pyyu/07-luffy_project_01.zip

  解压缩

unzip 07-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/07-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.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 3.安装这个文件 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 = 4 # the socket (use the full path to be safe #如果你用了nginx反向代理,就填写socket参数 #如果你用了nginx反向代理,就填写socket参数 #如果你用了nginx反向代理,就填写socket参数 #如果你用了nginx反向代理,就填写socket参数 #如果你用了nginx反向代理,就填写socket参数 socket = 0.0.0.0:9001 #如果你没用nginx,想直接通过浏览器测试后端,使用http #http = 0.0.0.0:9001 # ... with appropriate permissions - may be needed # chmod-socket = 664 # 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       80;
        server_name  192.168.226.128;
        location / {
            root /opt/s18luffy/07-luffy_project_01/dist;
            index index.html;
        }
}

#虚拟主机2

server {
    listen 9000;
    server_name  192.168.226.128;
    location  / {
        uwsgi_pass 0.0.0.0:9001;
        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  #禁止开机自启

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  

posted @ 2019-04-03 21:54  TNTsc  阅读(404)  评论(0编辑  收藏  举报