网站首页 > 技术教程 正文
昨天服务器开了一个新管理员账号,用的弱口令,导致被黑了,ssh也不能登录,没办法,只能重装系统,还好没重要资料,服务器上只跑了一个公交的api和博客,早上重装了系统,环境从新搭建,记录下。
服务器是腾讯云的,系统是ubuntu18.04,自带python2和python3,我的项目是基于python3的,所以可以直接使用。
1.安装依赖包
sudo apt install python3-pip
sudo apt install build-essential python-dev python-setuptools
sudo apt install build-essential python3-dev python3-setuptools
2.安装virtualenv
Virtualenv用来建立一个虚拟的python环境,可以为每个Python应用创建独立的开发环境,使他们互不影响,Virtualenv 能够做到:
- 在没有权限的情况下安装新套件
- 不同应用可以使用不同的套件版本
- 套件升级不影响其他应用
pip3 install virtualenv
查看是否安装成功
virtualenv --version
安装成功,接下来就要使用它了,我的项目是个api服务,我把我的项目文件放在/opt下,文件名为busAPI,我把我的项目文件都放在里面
安装虚拟环境,名字叫venv,必须进入到项目目录里,
virtualenv venv
在项目目录下就会建立一个新的 venv 目录,里面就是运行python 的基本环境的工具与指令和包。然后启用该环境。
source venv/bin/activate
调用 activate 指令后命令符前就会出现 (venv) 字样。可通过 deactivate 退出虚拟环境。
3.安装项目的依赖(Flask框架)
我的项目文件已经上传到目录里,但是项目依赖还没有安装,安装依赖,我的依赖文件
已经放到requirements.txt文件里,
pip install -r requirements.txt
这样安装依赖文件比较方便,如果依赖少,可以一个一个安装。
4.安装并配置uWSGI
此时我们已经在虚拟环境中,直接安装uWSGI
pip install uwsgi
在项目根目录新建config.ini文件
vim config.ini
文件内容
[uwsgi]
# uwsgi 启动时所使用的地址与端口socket = 127.0.0.1:8001
# 指向网站目录chdir = /opt/busAPI/
# python 启动程序文件wsgi-file = run.py
# python 程序内用以启动的 application 变量名callable = app
# 处理器数processes = 4
# 线程数threads = 2
#状态检测地址stats = 127.0.0.1:9191
注释已经很明显,只解释下callable=app 这个 app 是 run.py 程序文件内的一个变量,这个变量的类型是 Flask的 application 类 。
可以运行测试下
uwsgi config.ini
但这只是命令启动形式,要使其随同服务器启动并作为后台服务运行才是运营环境的实际所需要。因此接下来我们需要安装另一个工具来引导 uwsgi 。
5.安装 Supervisor
sudo apt-get install supervisor
Supervisor 的全局的配置文件位置在:
/etc/supervisor/supervisor.conf
正常情况下我们并不需要去对其作出任何的改动,只需要添加一个新的 *.conf 文件放在/etc/supervisor/conf.d/下就可以,那么我们就新建立一个用于启动 busAPI 项目的 uwsgi 的 supervisor 配置 (命名为:busAPI.conf):
[program:busAPI]
# 启动命令入口
command=/opt/busAPI/venv/bin/uwsgi /opt/busAPI/config.ini
# 命令程序所在目录
directory=/opt/busAPI
#运行命令的用户名
user=root
autostart=true
autorestart=true
#日志地址
stdout_logfile=/var/log/uwsgi_supervisor.log
启动和终止服务
# 启动服务
sudo service supervisor star
# 终止服务
sudo service supervisor stop
# 查看状态
sudo service supervisor status
6.安装 Nginx
sudo apt-get install nginx
配置Nginx,我们修改default这个文件
/etc/nginx/sites-available/default
默认是80端口,这里我没有使用80,因为小程序必须要https,所以我配了443端口,重启下Nginx
sudo service nginx restart
Nginx服务命令
# 启动
sudo service nginx start
# 停止
sudo service nginx stop
# 重启
sudo service nginx restart
# 查看状态
sudo service nginx status
7.总结
记录下从无到有的过程,中间也遇到不少的坑,但是最终还是运行成功。总结下,方便日后查找。
猜你喜欢
- 2024-10-16 Ubuntu系统Daphne + Nginx + supervisor部署Django项目
- 2024-10-16 在腾讯云Ubuntu系统安装Nginx以及部署
- 2024-10-16 隐藏nginx,Apache,php,tomcat服务版本号
- 2024-10-16 Ubuntu16环境下安装nginx(ubuntu搭建nginx服务器教程)
- 2024-10-16 HHvm建站环境搭建方法:Nginx、lnmp/lamp等安装部署
- 2024-10-16 Ubuntu 22.04 上安装 Nginx Web 服务器,小白也学的会
- 2024-10-16 ubuntu超级简单一键安装LNMP环境(ubuntu rime安装)
- 2024-10-16 Linux运维人员必知必会工具汇总(linux运维管理工具)
- 2024-10-16 快速搭建php的Linux开发环境(搭建php开发环境和开发工具)
- 2024-10-16 Ubuntu Linux部署免费HTTPS证书的步骤
你 发表评论:
欢迎- 最近发表
-
- Win11学院:如何在Windows 11上使用WSL安装Ubuntu
- linux移植(Linux移植freemodbus)
- 独家解读:Win10预览版9879为何无法识别硬盘
- 基于Linux系统的本地Yum源搭建与配置(ISO方式、RPM方式)
- Docker镜像瘦身(docker 减小镜像大小)
- 在linux上安装ollama(linux安装locale)
- 渗透测试系统Kali推出Docker镜像(kali linux渗透测试技术详解pdf)
- Linux环境中部署Harbor私有镜像仓库
- linux之间传文件命令之Rsync傻瓜式教程
- 解决ollama在linux中安装或升级时,通过国内镜像缩短安装时长
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)