一、安装python3

# 下载并解压
cd /opt
wget https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tgz
tar -zxf Python-3.6.3.tgz # 编译安装
cd Python-3.6.3/
./configure --prefix=/opt/python3/
make && make install

二、下载node并解压

wget https://nodejs.org/dist/v10.15.0/node-v10.15.0-linux-x64.tar.xz
tar -xJf node-v10.15.0-linux-x64.tar.xz

三、添加环境变量

vim /etc/profile

# 在文件的末尾添加
PATH=/opt/python3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/opt/node-v10.15.0-linux-x64/bin # 保存退出,加载文件
source /etc/profile

四、安装虚拟环境工具virtualenvwrapper

pip3 install virtualenvwrapper

vim ~/.bashrc
# 添加以下代码 WORKON_HOME=~/Envs
VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages'
VIRTUALENVWRAPPER_PYTHON=/opt/python3/bin/python3
source /opt/python3/bin/virtualenvwrapper.sh # 保存,然后重新登陆

五、源码安装redis

cd /opt/
wget http://download.redis.io/releases/redis-4.0.12.tar.gz
tar -zxf redis-4.0.12.tar.gz
make && make install # 创建配置文件
vim /etc/redis.conf # 输入以下代码
port 6379
daemonize yes
protected-mode yes # 启动
redis-server /etc/redis.conf

六、部署前端

[root@localhost luffy_boy]# cd /opt/luffy/07-luffy_project_01/
[root@localhost 07-luffy_project_01]# ls
build dist node_modules package-lock.json src
config index.html package.json README.md static # 默认根据目录中的package.json安装相应的模块,生成node_modules文件夹
npm install # 替换向后端发送请求的URL接口 # 打包vue项目,生成一个dist的静态文件夹(注意内存,内存不足会打包失败)
npm run build

七、部署后端

# 1.进入虚拟环境
# 2.安装对应的模块
pip3 install requirements.txt # 3.进入项目的目录
# 4.创建uwsgi.ini
vim uwsgi.ini '''编写以下配置'''
[uwsgi]
# Django-related settings
# the base directory (full path)
chdir = /opt/luffy/luffy_boy
# Django's wsgi file
module = luffy_boy.wsgi
# the virtualenv (full path)
home = /root/Envs/luffy
# process-related settings
# master
master = true
# maximum number of worker processes
processes = 1
# the socket (use the full path to be safe
socket = 0.0.0.0:9000
#http =0.0.0.0:9000
# clear environment on exit
vacuum = true
#后台运行uwsgi
#daemonize=yes # 5.测试运行
uwsgi --ini uwsgi.ini

八、nginx的配置

# 1.修改nginx的配置文件

server {
listen 80;
server_name 192.168.11.169;
location / {
root /opt/luffy/07-luffy_project_01/dist;
index index.html index.htm;
}
} server {
listen 8000;
server_name 192.168.11.169;
# 反向代理
location /{
uwsgi_pass 0.0.0.0:9000;
include /opt/nginx/conf/uwsgi_params;
}
} # 启动nginx
/opt/nginx/sbin/nginx

九、安装并使用supervisor管理后端项目

# 1.退出虚拟环境
# 2.安装supervisor
easy_install supervisor # 3.通过命令生成supervisor的生成配置文件
echo_supervisord_conf > /etc/supervisor.conf # 4.修改配置文件
vim /etc/supervisor.conf '''在末尾添加以下代码'''
[program:luffy]
command=/root/Envs/luffy/bin/uwsgi /opt/luffy/luffy_boy/uwsgi.ini
stopasgroup=true
killasgroup=true # 5.保存退出,启动supervisor
supervisord -c /etc/supervisor.conf # 6.请求后端项目
supervisorctl -c /etc/supervisor.conf start all

部署完成!!!

Centos部属前后端项目的更多相关文章

  1. Docker 部署前后端项目

    Docker 部署前后端项目 平生不会相思,才会相思,便害相思. 简介:都是被逼的,从零开始一个Docker 部署九个微服务和三个前端项目.其中,这些服务需要用到Nacos.MySQL.Nginx.E ...

  2. 在IDEA中使用Maven将SpringBoot项目打成jar包、同时运行打成的jar包(前后端项目分离)

    1.maven教程官网 https://m.runoob.com/maven/ 2.理解Maven的构建生命周期(clean.Package) 3.在项目中使用maven进行打包 4.运行打包好的ja ...

  3. vue+django前后端项目部署

    一.python3的安装 1.安装python前的库环境: yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel ...

  4. 【宝塔面板】centOS部署前后端分离所有遇到的坑,Django

    1:刚刚买完服务器,在宝塔面板安装完一切工具,Django顺利运行后(不能运行一般是起了中文名) # 问题:想迁移数据库,结果发现-bash: python3: command not found# ...

  5. 测试开发【Mock平台】04实战:前后端项目初始化与登录鉴权实现

    [Mock平台]为系列测试开发教程,从0到1编码带你一步步使用Spring Boot 和 Antd React 框架完成搭建一个测试工具平台,希望作为一个实战项目能为你的测试开发学习有帮助. 一.后端 ...

  6. spring boot+vue前后端项目的分离(我的第一个前后端分离项目)

    文章目录 1.前端vue的搭建 2.后端项目的构建 pom文件中引入的jar包 yml文件用来配置连接数据库和端口的设置 application.property进行一些整合 controller层( ...

  7. Docker部署前后端项目

    本地(ubuntu19.04)安装docker: sudo apt install docker.io SSH连接服务器: 安装Docker: yum update yum -y install do ...

  8. 简述前后端项目RSA+AES加解密

    一.登录机制 在项目中,我们可以大致得出一个登录的过程,主要分为  登录验证.登录保持.退出三个部分.登录验证是指客户端提供用户名和密码,向服务器提出登录请求,服务器判断客户端是否可以登录并向客户端确 ...

  9. LNMP环境+ 前后端项目部署+redis+redis扩展

    LNMP 环境    (参照https://lnmp.org/install.html) wget -c http://soft.vpser.net/lnmp/lnmp1.4.tar.gz & ...

随机推荐

  1. Oracle系列十 创建和管理表

    常见的数据库对象 Oracle 数据库中的表 用户定义的表: 用户自己创建并维护的一组表 包含了用户所需的信息 如:SELECT * FROM user_tables;查看用户创建的表 数据字典: 由 ...

  2. docker安装并运行kibana

    拉镜像: [mall@VM_0_7_centos ~]$ : Pulling from library/kibana 256b176beaff: Already exists 88643bded09c ...

  3. tushare包使用案例

    Tushare是一个免费.开源的python财经数据接口包.主要实现对股票等金融数据从数据采集.清洗加工 到 数据存储的过程,能够为金融分析人员提供快速.整洁.和多样的便于分析的数据,为他们在数据获取 ...

  4. 【Shell常用命令一】echo bash alias history 输出重定向 快捷键

    echo输出命令 echo [选项] [输出内容] -e : 支持反斜线控制的字符转换 赋予执行权限 直接运行 chmond 755 hello.sh ./hello.sh 通过bash调用执行脚本 ...

  5. k8s pv,pvc无法删除问题

    一般删除步骤为:先删pod再删pvc最后删pv 但是遇到pv始终处于“Terminating”状态,而且delete不掉.如下图: 解决方法: 直接删除k8s中的记录: 1 kubectl patch ...

  6. svn客户端清空账号信息的两种方法

    1.直接删除配置 C:\Users\Administrator\AppData\Roaming\Subversion\auth 一般在这个文件夹下 2.svn的设置里清空

  7. python基础(二)-- 列表、字典、集合、字符串操作

    4.列表: 基本操作: 索引 切片 追加 删除 长度 切片 循环 包含 import copy i=0 #persons=['dailaoban','xiekeng',['age',100,50],' ...

  8. Vue利用搜狐获取公网ip地址

    在index.html中添加代码: <script src="https://pv.sohu.com/cityjson?ie=utf-8"></script> ...

  9. PHP_MySQL高并发加锁事务处理

    1.背景: 现在有这样的需求,插入数据时,判断test表有无username为‘mraz’的数据,无则插入,有则提示“已插入”,目的就是想只插入一条username为‘mraz’的记录. 2.一般程序 ...

  10. java8新特性(2)--接口的默认方法

    1.默认方法的定义和作用 在Java8以前的版本中,由接口定义的方法是抽象的,不包括方法体.JDK8版本的发布改变了这一点,其中给接口添加了一个新的功能:默认方法.默认方法允许为接口方法定义默认实现. ...