前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >20.多端项目上线部署(2)部署后端项目NewCenter到腾讯云服务器

20.多端项目上线部署(2)部署后端项目NewCenter到腾讯云服务器

作者头像
玩蛇的胖纸
发布于 2020-07-07 01:45:23
发布于 2020-07-07 01:45:23
4K00
代码可运行
举报
运行总次数:0
代码可运行

1.项目准备

1.在settings.py中

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
# STATICFILES_DIRS = (
#     os.path.join(BASE_DIR, 'static'),
# )
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
DEBUG = False

ALLOWED_HOSTS = ["*"]

2.生成requirements.txt

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pip freeze >requirements.txt

 3.将项目打包成.zip包

2.上传项目包

1.使用FileZilla连接腾讯云服务器,并上传NewCenter.zip包

 3.在云服务器解压zip包

1.使用Xshell连接服务器

clear清屏

 2.解压zip包

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo -i
cd /home/ubuntu
ls
unzip NewCenter.zip

 4.创建虚拟环境

1.查看当前系统下python3的版本

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
python3 -V
#当前环境下python3是python3.6.8

2.创建虚拟环境

 在ubuntu目录下做这些操作

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#安装虚拟环境
apt-get install python3-venv
y
#在当前目录下,创建一个python3.6的虚拟环境,取名为env36
python3 -m venv env36
. env36/bin/activate
#进入虚拟环境
#退出虚拟环境 deactivate

3.在虚拟环境中安装依赖库

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ls
cd NewCenter
pip3 install -r requirements.txt

5.测试并收集静态文件

1.运行项目:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
python manage.py runserver 0.0.0.0:8000

bug:

报错了

原因:

因为Mysql数据库新建的时候,所有大写字母都变成了小写,但是在项目配置文件中,数据库的名字中还是用的大写字母,而在ubuntu系统中,是区分大小写的,导致在连接数据库时报错。

这种情况下,在构建项目数据库的时候,就用了小写字母的情况下,是不会出现报错的。

所以只要将项目配置中与连接数据库相关的配置代码中的NewCenter,改成newcenter,即可。

解决:

Ctrl+C,退出。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ls
cd NewCenter/
ls
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
vim settings.py
# 英文输入环境下,敲 i 键,进入插入模式
#上下左右键移动光标,将连接数据库相关的代码中的‘NewCenter’修改为‘newcenter’
#英文输入环境下,敲Esc键,输入:wq 保存退出

 然后再重新启动项目:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd /home/ubuntu
cd NewCenter
python manage.py runserver 0.0.0.0:8000

2.在安全组打开8000端口

3.浏览器访问:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
http://公网IP:8000/xadmin/

浏览器效果图:

 4.退出运行状态:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Ctrl键+C

5.收集静态文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
python manage.py collectstatic

注意,虽然收集了静态文件,但是这个时候,就算重启项目,从浏览器访问,依然是没有样式的。

6.安装uwsgi

1.安装uwsgi到真实(非虚拟环境)环境下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#退出虚拟环境
deactivate
cd ..
apt install python3-pip
y
apt-get install -y python3-dev
pip3 install uwsgi

2.使用uwsgi启动项目

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
uwsgi --chdir /home/ubuntu/NewCenter --home /home/ubuntu/env36 --http :8000 --module NewCenter.wsgi

 浏览器访问:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
http://公网IP:8000/xadmin/

3.退出运行状态

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Ctrl键+C

4.通过uwsgi通过ini执行运行项目

1.创建ini文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd NewCenter/
mkdir newcenter_uwsgi
cd newcenter_uwsgi/
vim newcenter.ini

在英文输入下点击i键进入输入状态,输入:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[uwsgi]
#项目目录
chdir=/home/ubuntu/NewCenter
#wsgi目录
module=NewCenter.wsgi:application
#虚拟环境
home=/home/ubuntu/env36
master=true
processes=1
socket = 0.0.0.0:9000
vacuum = True
daemonize=yes

 点击【Esc】键,输入:wq,保存退出

2.通过执行ini文件启动项目命令

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
uwsgi --ini /home/ubuntu/NewCenter/newcenter_uwsgi/newcenter.ini

注意:这里所谓的启动,通过浏览器是访问不到的。

7.安装配置Nginx

1.安装Nginx

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd /home/ubuntu/
apt-get install nginx
y

2.配置Nginx

1.删除default:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#防止错误,先把default文件给删除了
cd /etc/nginx/sites-available/
rm default 
ls
cd /etc/nginx/sites-enabled
ls
rm default 
ls

2.新建配置文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd /etc/nginx/sites-available/
vim newcenter.conf

3.编辑内容:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
i #进入编辑状态

内容

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
server{
  listen 8000;
  server_name 公网IP;
  charset utf-8;

  client_max_body_size 75M;

  location /static {
    alias /home/ubuntu/NewCenter/static;
  }
  location /media {
    alias /home/ubuntu/NewCenter/media;
  }

  location / {
    uwsgi_pass 127.0.0.1:9000;
    include /etc/nginx/uwsgi_params;
  }
}

保存退出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Esc键+输入:wq+回车 #保存退出

4.建立软链接

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd /etc/nginx/
ln -s /etc/nginx/sites-available/newcenter.conf /etc/nginx/sites-enabled/newcenter.conf
ls sites-enabled/
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
nginx -t #查看Nginx 运行情况

service nginx restart #重启Nginx
 
注意 如果报错:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Job for nginx.service failed because the control process exited with error code.
See "systemctl status nginx.service" and "journalctl -xe" for details.

查看端口8000是否占用:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
netstat -apn|grep :8000

查看与uwsgi相关进程

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ps -aux|grep uwsgi

停止uwsgi

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo pkill -f uwsgi -9

 5.通过nginx反向代理访问

1.解决权限问题:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
chmod -R 777 /home/ubuntu

2.如果因为报错停止过uwsgi,则需要再启动一次

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
uwsgi --ini /home/ubuntu/NewCenter/newcenter_uwsgi/newcenter.ini

3.重启nginx

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
nginx -t #查看Nginx 运行情况

service nginx restart #重启Nginx

浏览器访问:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
http://公网IP:8000/xadmin/

效果图:

后端项目NewCenter部署成功!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-07-03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
node.js 安装与 npm 加速
本文记录 node.js 安装过程。 Linux 安装 官网链接:https://nodejs.org/zh-cn/ 方法1 下载代码包: 下载后解压,将文件夹/bin目录添加到系统路径即可使用npm命令管理node.js包 方法2 下载二进制文件包 命令行可以: wget https://nodejs.org/dist/v16.14.2/node-v16.14.2-linux-x64.tar.xz 下载后解压并移动至系统目录: # 解压缩 tar -xf node-v16.14.2-lin
为为为什么
2022/08/06
2.7K0
node.js 安装与 npm 加速
安装nodejs | npm | pnpm
如果你使用的是debian或者是ubuntu系统,你可以参考官方给出的安装脚本进行快速安装。
夜梦星尘
2024/08/20
1990
Linux 如何使用包管理器安装 Node.js
我发现很多人不太清楚如何在 Linux 安装 Node.js,好久没写文章了,今天就水一篇吧。 说说如何在 Linux 上通过包管理器安装 Node.js
hedeqiang
2020/07/22
1.8K0
Linux 备忘
Node.js 安装,可以参考 Install Node.js via package manager:
Kindem
2022/08/12
2900
如何在Linux上安装Node.js
版权声明:本文为木偶人shaon原创文章,转载请注明原文地址,非常感谢。 https://blog.csdn.net/wh211212/article/details/53039286
shaonbean
2019/05/26
2.4K0
Linux环境下安装nmp(Centos环境)保姆级教学 一步到位
在CentOS上安装npm,您需要先安装Node.js,因为npm是Node.js的包管理器。以下是安装步骤:
苏泽
2024/03/10
1.2K0
Linux环境下安装nmp(Centos环境)保姆级教学 一步到位
Install Node.js & npm on Ubuntu
Node.js 是一个开源的JavaScript运行环境,常用于构建服务器端应用。npm 是Node.js的包管理工具,用于安装和管理JavaScript包。在Ubuntu系统上,安装Node.js和npm可以通过以下几个步骤来完成。
alanzeng
2025/01/14
2590
一键安装Nodejs
文章时间:2021年7月15日 14:19:44 解决问题:一键安装Nodejs 安装版本:12.x 可以把12改为14安装就是14.x版本的 首先,我们需要启用NodeSource存储库 yum install gcc-c++ curl -sL https://rpm.nodesource.com/setup_12.x | sudo bash - 启用了NodeSource存储库,请键入以下命令来安装Node.js和npm yum install nodejs
华创信息技术
2022/05/28
7500
npm install报错,以及Cannot find module 'fabric-ca-client'问题解决
运行~/go/src/github.com/hyperledger/fabric/scripts/fabric-samples/fabcar$ ./startFabric.sh,启动网络后。
红桃K
2020/01/28
2.3K0
npm install报错,以及Cannot find module 'fabric-ca-client'问题解决
为 Debian 安装最新版本的 Node.js
Ubuntu 或 Debian 的软件仓库中的 Node.js 更新较慢,甚至只能等到新版本发布才能有最新的 Node.js 用。下面我们说一下从 NodeSource 提供的仓库中安装最新版本的 Node.js。
Debian中国
2018/12/20
2.7K0
nodejs部署
$ sudo curl -sL https://deb.nodesource.com/setup_17.x | sudo -E bash -
用户9966982
2022/11/05
1.1K0
系统活动监控工具gtop,比htop更好用
要停止 gtop 使用 q ,或者 ctrl+c (在大多数 shell 环境中)
冬冬i
2022/04/09
1K0
系统活动监控工具gtop,比htop更好用
Installing Node.js and npm on CentOS 7
NodeSource is a company dedicated in providing enterprise-grade Node support and they maintain a consistently-updated Node.js repositories for Linux distributions.
用户1065635
2019/03/21
9900
服务端的 WebAssembly 与 Rust 入门篇
随着 WebAssembly 在客户端的发展,WebAssembly 也正在从客户端发展到服务端,这与当年Java 的发展路径非常相似。
阿拉不累
2020/09/23
2.8K0
服务端的 WebAssembly 与 Rust 入门篇
nodejs和npm的yum安装全解,要先删除久版本 no such file _node-sass@4.14.1@node-sass
命令: curl -sL https://rpm.nodesource.com/setup_14.x | bash - yum remove -y nodejs npm yum install -y nodejs node -v npm -v 安装cnpm: 只是npm的一个包而已 npm install -g cnpm --registry=https://registry.npm.taobao.org #国内镜像,坚决只用一个,不混着用了,再也不用npm了 laravel项目中额外可能需要: npm
waki
2021/12/08
7430
nodejs和npm的yum安装全解,要先删除久版本 no such file _node-sass@4.14.1@node-sass
linux 安装各个版本nodejs
输入 pm2 -v 后报错 pm2: command not found 解决方案:
用户4877748
2020/07/22
5.4K0
如何在Ubuntu 16.04上安装Node.js
Node.js是一个用于通用编程的JavaScript平台,允许用户快速构建网络应用程序。通过在前端和后端利用JavaScript,开发可以更加一致并在同一系统中进行设计。
angel_郁
2018/10/10
7.4K1
如何在CentOS上安装Node.js和npm- 星泽V社
NodeSource是一家致力于提供企业级Node支持的公司,他们为Linux发行版维护一个不断更新的Node.js存储库。要从CentOS系统上的NodeSource存储库安装Node.js和npm,请执行以下步骤:添加NodeSource yum存储库Node.js的当前LTS版本是10.x版本。 如果要安装版本8,只需在以下命令中将setup_10.x更改为setup_8.x。
星泽V社
2022/04/22
5.5K1
如何在CentOS上安装Node.js和npm- 星泽V社
最新Node.js有什么,以及如何安装?
最新长期支持版 Node.js 在保持其作为企业级 JavaScript 应用程序首选运行时的同时,带来了更新。
云云众生s
2025/01/25
2150
UMAMI隐私统计安装及配置
UMAMI使用nodejs编写,是一个用于替代Google Analytics等第三方统计平台,更专注于用户隐私保护的自建统计项目。
Laikee
2022/04/28
1.8K0
UMAMI隐私统计安装及配置
推荐阅读
相关推荐
node.js 安装与 npm 加速
更多 >
LV.0
腾讯计算机有限公司前端开发
目录
  • 1.项目准备
    • 1.在settings.py中
    • 2.生成requirements.txt
    •  3.将项目打包成.zip包
  • 2.上传项目包
    • 1.使用FileZilla连接腾讯云服务器,并上传NewCenter.zip包
  •  3.在云服务器解压zip包
    • 1.使用Xshell连接服务器
    •  2.解压zip包
  •  4.创建虚拟环境
    • 1.查看当前系统下python3的版本
    • 2.创建虚拟环境
    • 3.在虚拟环境中安装依赖库
  • 5.测试并收集静态文件
    • 1.运行项目:
      • bug:
      • 原因:
      • 解决:
    • 2.在安全组打开8000端口
    • 3.浏览器访问:
    •  4.退出运行状态:
    • 5.收集静态文件:
  • 6.安装uwsgi
    • 1.安装uwsgi到真实(非虚拟环境)环境下
    • 2.使用uwsgi启动项目
    • 3.退出运行状态
    • 4.通过uwsgi通过ini执行运行项目
      • 1.创建ini文件
      • 2.通过执行ini文件启动项目命令
  • 7.安装配置Nginx
    • 1.安装Nginx
    • 2.配置Nginx
      • 1.删除default:
      • 2.新建配置文件:
      • 3.编辑内容:
      • 4.建立软链接
      •  5.通过nginx反向代理访问
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档