!!!如果在过程中有一些报错的信息,只要看下报错信息,看不懂把错误信息百度一下就可以了,基本可以解决(第一篇博客,望理解)

 

因为前段时间买了服务器,索性就玩一下,前端是用Vue写的,后台用Flask写接口,nginx作为服务器。

1.cmder远程登入阿里云

ssh root@ip

2.设置python的默认环境,阿里云已经安装了 python2,3;因为我的flask是在python3下写的所以要设置默认python3的环境

sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100  

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150 

这是输入 python 就会显示默认python环境的版本了

3.安装pip

sudo apt-get update

sudo apt-get upgrade(环境更新一下,有提示就确认 ok就行,避免安装pip出错,所以先更新一下)

安装pip
wget https://bootstrap.pypa.io/get-pip.py  
sudo python get-pip.py
  
 

可以pip -V查看是否安装成功

4.安装虚拟环境

sudo pip install virtualenv

sudo easy_install virtualenvwrapper

 

进入到你要安装的位置 virtualenv flask(名字自己取)

 

激活虚拟环境 source flask/bin/activate

 

退出的话就是 deactiavte

安装Flask依赖
pip install (根据需要安装)
 

然后把flask项目贴进去就好了

5.安装 mysql
sudo apt-get install mysql-server (这条命令会让你输入数据库的密码,不要忘记了)
sudo apt insps -ef|grep pythontall mysql-client
sudo apt install libmysqlclient-dev

 

对数据库的另外一些配置,自己百度就好了

6.安装nginx 
sudo apt-get install nginx

 

这样就安装完毕了,现在可以 命令 nginx

在浏览器输入IP地址,会看到 

说明nginx已经启动了

这时候我们将 npm run build的vue文件传到服务服务器

 

然后在 打开/etc/nginx/sites-enabled里面的default 滑到最下面,把server上面的全删掉,
只保留
server {
listen 80;
listen [::]:80;

server_name loaclhost; #要修改成localhost

root /home/file/;     #这里是打包好的vue的文件地址
index index.html index.html; #加载index

location / {
try_files $uri $uri/ =404;
}
}

 

 

这时候要重启下nginx服务

nginx -s stop

nginx

nginx -s reload

 

 

这时候就可以在浏览器输入 服务器的IP,就可以访问到了

 

7.前端完成后开始完成后端

当初我以为后台只要 nohup一下就好了 真的是太天真了

我们先安装一下 uwsgi  

WSGI是一个Web服务器,它实现了WSGI协议、uwsgi、http等协议。Nginx中HttpUwsgiModule的作用是与uWSGI服务器进行交换。WSGI是一种Web服务器网关接口。它是一个Web服务器(如nginx,uWSGI等服务器)与web应用(如用Flask框架写的程序)通信的一种规范。

我们要先进入我们的虚拟环境 然后 pip install uwsgi 安装一下就好了

接下来就是配置我们的 uwsgi和nginx

先在我们的flask项目下面新建 uwsgi.ini  文件

具体内容

[uwsgi]
socket = 0.0.0.0:8080
pythonpath = /home/flask/API
module = API
wsgi-file = /home/flask/API/API.py
callable = app
processes = 4
threads = 2
daemonize = /home/flask/API/server.log

socket不是我们真是访问的http 这只是我们 app.run() 里面的参数 比如我的就是 host=‘0.0.0.0’  post=8080

pythonpath是我们项目的路径

module是路口文件 我定义的是API.py (大部分人是manage.py)

wsgi-file是脚本文件

callable  是实例名称,app = Flask(__name__) 这个没人反对吧

processes 是进程数

threads是线程数(每个进程会开两条线程)

daemonize是日志文件 应该不陌生吧

 

接下来配置Nginx

打开/etc/nginx/sites-enabled里面的default 

同样也要开一个 server ,其实只要在最下面加上

server {
        listen       81;         #默认的web访问端口
        server_name  loaclhost;     #服务器名
       
        location / {

            include        uwsgi_params;     #这里是导入的uwsgi配置

            uwsgi_pass     0.0.0.0:8080;   #需要和uwsgi的配置文件里socket项的地址
                                             #相同,否则无法让uwsgi接收到请求。

            uwsgi_param UWSGI_CHDIR  /home/flask/API;     #项目根目录

            uwsgi_param UWSGI_SCRIPT API:app;     #启动项目的主程序(在本地上运行
                                                     #这个主程序可以在flask内置的
                                                     #服务器上访问你的项目)
}
}

 

这是访问 我们的IP地址 加81端口 就能访问,但是返回了502,因为我们的 uwsgin还没有启动

这时候我们在对应的路径下输入

uwsgi --ini /home/flask/API/uwsgi.ini(切记一定要进入相对应的虚拟环境)

假如我们要修改项目的话,删掉进程,重新启动就好了。

Logo

前往低代码交流专区

更多推荐