巨蟒python全栈开发linux之centos7

1.crm项目部署回顾(小BOSS)css

crm部署  nginx+uwsgi+django+mysqlhtml

nginx         前端前端

uwsgi+django      后端vue

mysql        数据支撑node

 

crm是一个单体的应用,前端代码和后端代码,融合在了一块儿.这种须要会布置python

linux默认终端有7个mysql

按住ctrl + alt 从 f1-f7是7个终端 f1是图形化终端,f2-f7是黑屏
咱们用的是xshell远程链接,链接到linux,能够有N个终端jquery

 

咱们从新登陆服务器,linux

注意.docker不要随便停人家的服务,这很危险.nginx

写代码,提供服务才是产品,才可以赚钱.linux命令必定要学熟

领导给了服务器帐户和密码,要登陆服务器,看进程,看端口,看具体跑了什么东西,才能明白服务器的做用

3306是一台服务器.ps -ef nginx表明web服务器的服务器

nginx web server  学名是服务器,也就是linux用的web软件

命令看下ps -ef

每一个任务对应一个窗口,

 web  `   对应80

django  对应8000

数据库  3306

若是端口改变了,咱们须要认识后边的Program name

老师想要尽量这个过程当中发生了什么,从无到有.

 

如何快速的进行一步?

linux默认终端有7个 
按住ctrl + alt 从 f1-f7是7个终端   f1是图形化终端,f2-f7是黑屏
咱们用的是xshell远程链接,链接到linux,能够有N个终端

1.先去启动后端,uwsgi + django 
2.先准备项目  xftp  lrzsz  
3.先准备虚拟环境
4.安装uwsgi 
5.用uwsgi启动crm项目
    -一是命令 +  参数   (不建议使用,请用配置文件 uwsgi.ini)
        uwsgi --http  :8000 --module  crm.wsgi  
        解释:--http  就是直接能够经过浏览器访问,不经过nginx
        uwsgi --socket :8000 --module crm.wsgi 
        解释:  --socket 是必须用nginx去反向代理,才能找到,浏览器直接访问找不到

No application,这个错误是,必需要进入项目的第一层目录,可能在家目录下面可能执行

 

下面咱们用uwsgi.ini进行配置

咱们须要要这个文件uwsgi.ini启动,下面咱们打开这个文件看一下文件内的配置

 

配置文件,就如上图那么多.

 

如今,若是咱们想要启动这个进程,必须找到第一层,在这个目录下面启动

回车,发现启动4个进程

 

 

 

咱们发现,上边的进程已经存在了.

 

 出现以下图的问题:

解决方案见下图.

强制杀死,两个进程

 

 

这个时候,启动了4个工做进程.

 

 咱们如今结束窗口1这个运行

运行第二个窗口,查看进程

再次在窗口1中运行:

在窗口2中再次查看

查看一下端口

这个时候,咱们可以查看到这个端口uwsgi是8000端口

 

这个时候咱们查看到的是8000端口访问不了,

咱们关闭防火墙试一下

依然访问不了

 

5.用uwsgi启动crm项目
    -一是命令 +  参数   (不建议使用,请用配置文件 uwsgi.ini)
        uwsgi --http  :8000 --module  crm.wsgi  
        解释:--http  就是直接能够经过浏览器访问,不经过nginx
        uwsgi --socket :8000 --module crm.wsgi 
        解释:  --socket 是必须用nginx去反向代理,才能找到,浏览器直接访问找不到

    正确的方式:
        二,用配置文件uwsgi.ini 
                [uwsgi]
                # Django-related settings
                # the base directory (full path)
                #填写项目的绝对路径(第一层路径)
                chdir           = /opt/Crm_Project
                # Django's wsgi file
                #填写crm第二层目录下的wsgi.py文件的路径
                module          = Crm_Project.wsgi
                # the virtualenv (full path)
                #填写虚拟环境的绝对路径
                home            = /root/Envs/nginx_crm

                # 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:8000

                #若是你没用nginx,想直接经过浏览器测试后端,使用http 
                #http = 0.0.0.0:8000

                # ... with appropriate permissions - may be needed
                # chmod-socket    = 664
                # clear environment on exit
                vacuum          = true
View Code
        
        三,经过配置文件,启动crm,启动后端!!!!
        uwsgi --ini uwsgi.ini 
        
        四。关闭防火墙    iptables -F  #清空规则
        systemctl stop firewalld  #关闭防火墙服务
        systemctl disable firewalld  #禁止开机自启
 
        五,收集crm的静态文件
        修改settings.py 写入
        STATIC_ROOT= '/opt/crmstatic'

        六:用命令收集静态文件
        python3 manage.py collectstatic

 

 

这样咱们就能够查看这个防火墙,这时候就仅仅有3条列了.看见这三行表明防火墙已经关闭了

咱们再次刷新一下网址,

服务端获得的地址

无效请求块的大小 ,

咱们如今是把后盾啊跑出来了.

2.安装这个数据库

2.准备数据库,启动
#保证mariadb已经安装了  
yum install mariadb-server mariadb -y 

systemctl start mariadb   #启动数据库

没有任何的提示,就表明最好的提示

下面,咱们启动数据库

咱们也能够验证这个事情,查看的命令是  systemctl status mariadb

这个时候,咱们发现,正在运行了

 

这个时候,咱们发现了这个命令包括8000端口的uwsgi和3306端口的mysql都已经启动了

咱们能够登陆mariadb看一下

登陆,没有密码,查看一下数据库

退出

 

3.准备nginx,进行反向代理
    1.安装nginx 
    2.修改nginx的配置文件  nginx.conf 
    3.修改代码以下,截取的片断代码以下,参照着修改
    
upstream  mycrm {
    server  0.0.0.0:8000;
}
    #nginx的虚拟主机参数
    server {
        #第一个虚拟主机,监听的80端口
        listen       80;
        #填写的是你自定义的域名 或者服务器的ip地址,或者写locathost
        server_name  192.168.226.128;

        #当用户访问 www.s18dnf.com的时候,就进入这个虚拟主机
        location / {
        uwsgi_pass  http://mycrm;
        include uwsgi_params;
        }

        #这个location是解决crm的静态文件的问题的
        #只要请求url是192.168.226.128/static/admin/admin.css
location /static  {
#alias参数 就是将/static转化为/opt/crmstatic ,也就找到了咱们全部的静态文件
alias /opt/crmstatic;
}

这个时候,咱们再准备nginx

打开文件:

咱们须要改的是连个虚拟主机

保存,退出

咱们找到了这个参数逇位置

如今也就是一个普通的文本uwsgi_params,包含在nginx.conf确定不行的

 下面咱们再来编辑刚才的文件:

只有上边的一点点代码

上边表明解决静态文件问题的文件.

 只要配置了上图红框内的内容,nginx就会返回静态文件相关的内容.

 

uwsgi_pass表明转发给一个单点机器

下面咱们结合一下负载均衡结合地址池

在这里,咱们须要写上多个地址.

 这个时候,下面咱们须要修改一下下面的uwsgi_pass的写法

总体写法见下图

也就是负载均衡结合反向代理

上边是:定义负载均衡池,写入你的后端地址

 下面的是:转发给负载均衡池,名字是自定义的叫mycrm

 保存退出.

 一个问题:没有作静态文件收集

补充:

        五,收集crm的静态文件
        修改settings.py 写入
        STATIC_ROOT= '/opt/crmstatic'

        六:用命令收集静态文件
        python3 manage.py collectstatic

修改一下这个settings.py

这个地方,最好仍是用虚拟环境,而后输入收集命令.

输入yes,只有熟练了,才会

 

其实咱们什么事情,都没有作.因此是0个文件.

下面是一点点步骤和一些片断代码:

3.准备nginx,进行反向代理
    1.安装nginx 
    2.修改nginx的配置文件  nginx.conf 
    3.修改代码以下,截取的片断代码以下,参照着修改
upstream mycrm { server
0.0.0.0:8000; } #nginx的虚拟主机参数 server { #第一个虚拟主机,监听的80端口 listen 80; #填写的是你自定义的域名 或者服务器的ip地址,或者写locathost server_name 192.168.226.128; #当用户访问 www.s18dnf.com的时候,就进入这个虚拟主机 location / { uwsgi_pass http://mycrm; include uwsgi_params; } #这个location是解决crm的静态文件的问题的 #只要请求url是192.168.226.128/static/admin/admin.css location /static { #alias参数 就是将/static转化为/opt/crmstatic ,也就找到了咱们全部的静态文件 alias /opt/crmstatic; }

整个是自上而下找代码.

 ip是经过自上而下寻找,若是是4个主机,咱们须要经过域名进行区分.

目的就是找到,功能性的虚拟主机.

nginx修改完成后,咱们须要在平滑加载一下

报错,咱们从新打开看下

这个时候,咱们去掉http看一下

依然报错,

多了一个括号

应该是少了一个分号;

老师测试的时候,出现的一个问题

这个错误是须要启动nginx

老师检查了一下端口,这时候没有开启80端口,80表明的是nginx

上边这个咱们须要开启nginx服务

 

这个时候再次访问,依然访问不到,什么状况

流程图:

用户=>请求192.168.34.128(域名www.pian.com:80)==>nginx(经过uwsgi_pass进行负载均衡)

 ==>(uwsgi  8000端口)

一次咱们访问的是80端口

访问80端口,获得下图:

没有访问的权限,可是进入到了django了

下面咱们进入admin,访问下面的地址

这个时候,静态页面也就出来了

咱们能够直接访问这个地址,获得下面的页面,下面咱们须要结合域名和ip进行处理

 

 

2.supervisor的坑(接着上边的第一个)

4.还差一个supervisor 
    1.下载安装(看昨日笔记)
    2.修改supervisor的配置文件
    写入任务
    3.这里有个坑 咱们用supervisor,其实就是帮我们执行了一下启动uwsgi的命令而已 4.注意后台不能启动过uwsgi

 咱们须要导出一个文件

昨天咱们已经操做了,因此上边就省略了

此时咱们开始编辑supervisor.conf

 在最底部写入这样的一个任务

 若是路径发生了变化,第一个要修改为本身的uwsgi的绝对路径

以及本身的配置的绝对路径.

 

注意,这里的一个坑.

若是后端已经开了一个uwsgi,再用supervisor启动,固然是启动不了的.

下面咱们开始用匹配supervisor的一个命令

这个时候表明已经启动了

 

 咱们再启动一下supervisor,看到熟悉的报错界面,见下图,应该看到的是running

也就是咱们已经开启了一个8000,如今咱们想再用supervisor再开启一个8000,确定会报错的.

咱们如今应该怎么办?干掉原来的8000

还有一个问题是supervisor跑起来了,一直开一个小窗口在这个跑,能不能在后台让他跑?

手动起这个程序,会须要一个窗口,可是用supervisor就会在后台起这个.什么叫后台起?就是不占用一个窗口,在程序后边启动.

咱们先退出左边的程序.

 

查看端口

筛选出supervisor

咱们干掉以后,从新来一次  kill  -9  6273  强制杀死

咱们看一下man手册

 

没找到,能够经过linux 在线命令查看

kill -9  表示强制杀死的一个信号

 

 干掉以后,从新执行下面的命令

这个时候成功跑起来了(刚才电脑卡了一下,将来可能存在一些问题,注意下).

这个时候,成功访问.

上图是咱们中止服务,再看一下网页

 

 

 

再开启一下,

 

3.路飞学城部署

vue+nginx+uwsgi+django+mysql+redis

redis(就是一个key - value键值型数据库,缓存型数据库,内存型数据库),mysql是一个关系型数据库

vue + django 先后端分离的项目 

js  html css  bootstrap  jquery  

点击进入"路飞学城",

点击python//linux//go只是实现单独的不刷新,相似于ajax局部刷新

名字叫作vue+django  先后端分离的项目  这种也须要会布置

上图是nginx.conf的一个配置文件

 部署方法以下:

 

首先,咱们创建一个统一管理的目录.s18luffy

直接在linux下载

 

 

上边是解压的命令

由于使用mac结尾的因此出现了这个图标.

咱们删除这个文件.

 

 咱们每次开一个新项目,就须要开启一个新的虚拟环境

这个过程须要一点点时间.

 

咱们看到,上图目前是一个干净的虚拟环境.

下图先处理的是后端的uwsgi后端的部署.

2.后端uwsgi部署
1.下载路飞代码
wget https://files.cnblogs.com/files/pyyu/luffy_boy.zip
2.安装新的虚拟环境,解决环境依赖问题 ,能够用requirements.txt解决依赖问题
vim 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

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/s18luffy/luffy_boy
# Django's wsgi file
#填写crm第二层目录下的wsgi.py文件的路径
module = luffy_boy.wsgi
# the virtualenv (full path)
#填写虚拟环境的绝对路径
home = /root/Envs/s18luffy

# 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=/root/Envs/s18luffy/bin/uwsgi --ini /opt/s18luffy/luffy_boy/uwsgi.ini
stopasgroup=true
killasgroup=true

首先,咱们建立这样的一个文本文件,再打开,写入要安装的包.

记得要空一行.

保存退出.

上图是,咱们先看一下要安装的包以及,这个文件夹下面的内容.

下面,咱们开始安装

这个时候一行一行读取下载.

这时候,咱们须要配置第四步.

安装完成以后,咱们查看一下安装了哪些包

下面咱们测试一下能不能跑起路飞学城来?

 如今,咱们调用的是wsgi这个模块,这个模块的性能很低

上边红色的是,咱们没有进行数据库迁移,咱们先退出来,解决的这个问题.

 

 上图当前处于运行状态,咱们固然不能用0.0.0.0:9999进行访问.

 

上图,咱们返回的仅仅是json字符串.

也就是json化的数据,也就是发送给前端的vue.

后端给前端发送数据,前端在渲染,相关的内容

这个时候,咱们获得的知识一些json的一些数据.

 这个时候,咱们返回的只是一些json的数据,没有什么意义

 

咱们须要的是,经过json返回的数据渲染前端的内容.

 如今,咱们访问这个前端也就没有了任何的意义.

 

 

 前端获得的是json数据是没有意义的.咱们该如何处理?

 

 

 下图是第一层路径

 

第二层路径也是须要修改的,注意咱们说的须要修改的文件是启动文件uwsgi.ini

须要修改的地方:

1.项目的绝对路径,第一层路径
2.第二层路径下的wsgi.py文件
3.填写虚拟环境的绝对路径
4.修改端口
socket=0.0.0.0:9000

虚拟环境如何寻找?存放虚拟环境的位置,见下图

 

 如今,咱们须要考虑端口是否会冲突

这个时候,咱们看到后端端口,8000正在跑.

cd -  #回到上一次的工做目录

咱们再建立一个启动文件.

 

 编辑这个文件,复制上边的内容:

 

确认没有问题,保存退出

 下面咱们启动文件

 

下图中,确保没有error信息,后端就跑起来了

下面咱们再用supervisor在启动一下

 咱们不能手动启动,咱们用supervisor试一下,

 

退出以后,咱们编辑一下下面的supervisor内容.

进入以后,如何复制4行?光标停在途中所示的绿色位置而后  4yy  就能复制了四行,复制就  p    一下

 

 

 环境里边的uwsgi和配置文件里边的uwsgi都须要绝对路径

dd是删除一行的命令

而后,咱们保存退出.

上图是查看执行uwsgi的绝对路径

 咱们启动文件的路径:见下图

而后咱们运行这条命令:

 

 由于咱们修改了下图所示的supervisor.conf,因此咱们须要处理一下

咱们先杀死关于supervisor的内容.

 

 这个时候已经杀死了supervisor,

思考:若是杀不死怎么办?

杀死这个进程可能慢一些,不要着急

 这个时候,咱们再启动一下supervisor

 

 

出现上边现象是由于,咱们把两条绝对路径给注释掉了

 

 这个时候,咱们再从新启动一下:

这个时候,咱们看到了s18crm和s18luffy都运行了

 

 

这个时候,咱们再次打开这个配置文件.

复制出来:

[program:s18luffy]
command=/root/Envs/s18luffy/bin/uwsgi  --ini  /opt/s18luffy/luffy_boy/uwsgi.ini
stopasgroup=true
killasgroup=true

后端如今搞定了,咱们开始搞前端

 

 

 

 

1.前端vue部署,虽然没有学,可是思路是有的,如何完?

2.路飞学城部署 vue + nginx + uwsgi + django + mysql + redis(就是一个key - value型数据库,缓存型数据库,内存型数据库)

vue + django 先后端分离的项目 

js  html css  bootstrap  jquery  


部署方法以下
1.前端vue部署 
1.下载vue代码,解压缩
wget https://files.cnblogs.com/files/pyyu/07-luffy_project_01.zip

unzip 07-luffy_project_01.zip 


2.配置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环境变量便可
修改PATH生效便可

3.验证node是否正确配置(node就是如同python解释器   npm就是如同pip软件包管理工具)
node -v 
npm -v   

4.修改vue的代码文件
由于vue须要向后台发起请求,找到uwsgi
咱们的架构是将uwsgi隐藏在nginx后面

全部,vue(端口80)首先找的是nginx(反向代理,端口是9000),而后nginx(反向代理,端口是9000)反向代理给uwsgi (后端地址,9001) 

修改方式以下
api.js路径以下/opt/s18luffy/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
确保你在vue的代码文件夹 
npm install  #解决vue代码所需的模块依赖  

npm run build    #进行编译打包


6.当vue打包正确完成后,生成一个dist静态文件夹,此时就给丢给nginx去处理啦!!!

 

首先,前端代码须要下载下来,

前端也是须要下载一个压缩包.

 

即便,咱们不会写python和node,依然能够作好这个事情.

前面,咱们先保存退出.

先回到/opt/下面,再回到咱们的项目下面,s18luffy下面.

咱们,如今须要的是对先后端的代码进行统一管理.

如今咱们开始下载:

先查看一下,而后咱们再解压缩

 

 解压缩:

这个时候node环境就出来了

 

 进入node环境,bin认识

这个时候,咱们发现node和npm已经提供好了

 有人已经帮咱们作好了,咱们只须要配置环境变量就能够了

如何将上边的路径加入环境变量?

而后,咱们找到,

 PATH,添加内容到路径内.:

保存,退出.

执行下图的命令,使其生效

 

 下面咱们看一下具体的内容.版本

node是解释器,npm指的是pip那个包

查看版本的目的:

3.验证node是否正确配置(node就是如同python解释器   npm就是如同pip软件包管理工具)
node -v 
npm -v   

下面,咱们进入vue目录下面的代码框架的目录

vue的代码须要打包,编译的

 

 vue首先找到nginx,nginx用的是虚拟主机配置的,经过 两个server虚拟主机实现的功能,

 vue最终生成的是静态文件.

部署vue的流程:

1.用户访问域名ip,首先进入的是nginx,看到的是vue的静态页面index.html

2.当咱们用户在浏览器,点击路飞页面的课程列表,就向后台的django发起post请求,好比0.0.0.0:9000(django和uwsgi)

3.uwsgi也就是后台,接收到请求,响应请求,返回一个json数据

4.vue接收到数据,进行渲染.也就是看到了课程信息了.

可是,咱们在django前面加上了nginx,也就是反向代理,为了让用户不直接访问后台,为了保护后台,

不要http找到django,而用的是socket找到django,

 

再总结一下,

vue  发起数据请求,请求流程是

vue=>nginx=>反向代理    丢给uwsgi,

因此,vue找到的仍是nginx

 

 

注意,nginx和uwsgi各自占用一个端口.

 

 9001指的是后端django启动的一个端口.

 

捋一下:

8000指的是crm的uwsgi.

9000指的是第二个虚拟主机的9000

9001指的是后端的uwsgi的9001

80虚拟主机1,是首先打交道的虚拟主机,做用是:用于返回vue页面的一个东西.

虚拟主机能够实现web服务器的一个做用.

虚拟主机用于返回静态页面的做用,虚拟主机2是反向代理的做用.

接收前端的一个反向列表.看一下python的课程有哪些,

首先传递到nginx,而后再传到uwsgi,

 

虚拟主机是经过server标签实现的,

当咱们在路飞首页,点击课程列表的时候,vue发起一个post请求,请求格式是  服务器ip:9000  反向代理的做用端口

而后,nginx的9000端口,又向后台的uwsgi 9001转发了请求,

 

 

下面咱们开始继续进行:(站在运维的角度思考问题)

咱们看到有一个js文件.

打开这个文件:

 

 

咱们应该替换成服务器IP以及虚拟主机2的ip

 没有运维就是须要本身须要干

 里边信息那么多,确定不可能本身一个一个修改的

用sed,用于处理字符串的一个命令

最后的g,表明全局替换

直接回车,就所有修改了

 

 

如今,只是返回这样的结果,并无生效

 

 咱们加上-i表示替换结果,写入到文件.

回车,再打开一下,发现所有都修改完成了.

 

sed是linux处理字符串的命令

-i是将结果替换到文件

    sed 是linux处理字符串的命令
    -i 是将结果替换到文件
    "s/127.0.0.1:8000/192.168.226.128:9000/g"   #解释  s是替换模式  /你想替换的内容/你想替换的结果/   g是全局替换 
    api.js  你想修改操做的文件
    
    
    
5.进行打包vue,生成静态文件夹 dist
确保你在vue的代码文件夹 
npm install  #解决vue代码所需的模块依赖  

npm run build    #进行编译打包


6.当vue打包正确完成后,生成一个dist静态文件夹,此时就给丢给nginx去处理啦!!!

56.须要进入那个源码处理

56.咱们要执行命令的路径

如今,咱们开始执行安装,注意必须在这个目录下面才能执行下面的两条命令

warning不重要,error重要.不行.

这个安装速度是取决于网速

npm install  #解决vue代码所需的模块依赖//取决于网速  

npm run build    #进行编译打包//取决于机械硬盘转的速度

 

 

 

 

 

编译打包完成以后,会出现一个dist文件,咱们进入这个dist

一个是主页,nginx和static静态文件

6.当vue打包正确完成后,生成一个dist静态文件夹,此时就给丢给nginx去处理啦!!!

 

 

 

 

 

 

目前nginx.conf已经和crm结合了.

这里,咱们先拷贝出一份nginx.conf,防止该乱了

 

 

这样咱们内心就有数了

此时咱们编辑

咱们先开一个窗口,找到相应的路径

 

 

不要忘了加上分号

这个时候,咱们须要加上上边的两行参数.

先不搞反向代理,先保存退出

这个时候,咱们须要从新读取nginx

这个时候,咱们访问不到

为何是空的?报错?

 

 咱们看一下架构图

上图,咱们获得vue代码的位置

这个时候,咱们发现有两个入口

以前,配置crm的static,找的是crm里边的,如今不找这里边的静态文件了.

咱们干掉,下面的静态文件

 保存,退出,从新读取这个文件

 

 

从新加载这个文件.

再次刷新,咱们获得下面的界面:

 

 

 

 之因此出现上图中报错的缘由是,咱们的虚拟主机尚未配置

 

咱们再次编辑

咱们再次须要配置第二个虚拟主机

 

 上图是咱们须要配置反向代理的虚拟主机,保存退出

再次重启nginx

 

 

 

 也就是上图中须要写成9001

如今咱们进入supervisor

 

 

 

 先中止,再启动,再次查看一下,这个时候,已经出来了

 

 可能出现错误的缘由,排错步骤,重启,从新加载

 

 确保9000是nginx的

9001是uwsgi的

 这个时候就刷新出来了.

6379redis

alex &&alex3714

 

 如今是能够登陆了

 

  存在问题,加入不了购物车

报服务器端错误

 

 如今咱们启动的是redis请求

 咱们须要安装一个redis数据库,下面咱们须要安装redis数据库

 

 

咱们发现是sqlite3,代码须要本身写

虚拟环境不会影响yum的

如今,咱们须要启动redis,而后查看一下端口

 

 咱们发现6379redis服务器已经启动了  redis-server是服务端//redis-cli是客户端

 

这个时候,咱们已经进入数据库了

上图的命令,表示已经通了

 

 如今,咱们再次运行,就会显示加入购物车成功了

这个时候购物车里边就有东西了

 

 

再加入一条linux数据,回到服务端进行测试一下

这个时候就有了2条数据了.这样就成功完成了.

相关文章
相关标签/搜索