腾讯云CentOS7服务器部署Flask项目详解

部署Flask项目到腾讯云服务器CentOS7

安装git
yum install git

安装依赖包 支持SSL传输协议 解压功能 C语言解析XML文档的 安装gdbm数据库 实现自动补全功能 sqlite数据库:

yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel

安装Python3.6
下载python

wget https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz
 
ls
 
tar -zxvf Python-3.6.4.tgz
 
ls

创建目录

sudo mkdir /usr/local/python3

下载编译python的c和c++:

yum install gcc gcc-c++
 
yum install -y openssl openssl-devel openssl-static
 
yum groupinstall -y “Development tools”

配置:

sudo Python-3.6.4/configure –prefix=/usr/local/python3

编译:

sudo make
 
sudo make install

备份(重命名):

sudo mv python python.bak

软连接,以后就可以用python3命令来启动python3了:

sudo ln -s /usr/local/python3/bin/python3 /usr/bin/python3

修改原来2.7的配置

sudo vi /usr/bin/yum

回车后第一行的#!/usr/bin/python 改为#!/usr/bin/python2.7 然后esc,shift+: wq退出

从此以后在linux终端,输入python2即可进入2.7,输入python3即可进入python3

安装pip
下载pip

wget https://pypi.python.org/packages/11/b6/abcb525026a4be042b486df43905d6893fb04f05aac21c32c638e939e447/pip-9.0.1.tar.gz#md5=35f01da33009719497f01a4ba69d63c9

解压:

tar zxf pip-9.0.1.tar.gz

安装pip:

cd pip-9.0.1
python3 setup.py install

回到用户目录:

cd ~

安装ipython
pip install ipython

发现pip不好使,先找到pip在哪:

find / -name pip

再做个软链接

ln -sv /usr/local/python3/bin/pip /usr/bin/pip

输入pip试试:

pip

然后再安装ipython:

pip install ipython

安装完后看看ipython好不好使:

ipython

发现不好使…,看看ipython在什么地方

find / -name ipython

然后做一个软链接

ln -sv /usr/local/python3/bin/ipython /usr/bin/ipython

然后输入ipython试试,就好使了

ipython

进入ipython后,先来个hello world

print(‘hello world’)

怎么退出呢?

exit()

ipython不仅可以输入python语句,还可以执行linux语句,你可以试试输入pwd来查看当前文件路径

pwd

准备连接github:生成ssh key
cd ~
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub

在github上设置ssh key
网页上登陆github.com
登陆成功后进入https://github.com/settings/keys
然后点击‘添加一个新的SSH KEY’
第一行名字随便起,下面填入刚才cat ~/.ssh/id_rsa.pub后看到的内容。
我的是:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQBBAAABAQDLCGcX88+BTuWIIR/wKD2D91/mc1KRL6ErfVl2N5y5ql4eeIPpx89Jx/P1S0Nc1SsQEHEpBPyXcn85yKqkcJLqRAQQnthyARsrfCTIKZzuuPbefk/W12ujv4Lr57CNe+AdXvZCQHUBBS29gCOKOxNAYVym1D2qr1pFXaGoJy8L5PFkTKv5CmNvmhkrEyAsmLoOE7Kin2zIho5FIA/q0UcDTFd9Zv2GM9vSUdprHWtdpDlMPNCao/J9amTpYct27H5YLTSVoVMFhxYrbYx4a9ujVOdBfYSqcif1A2iKbodcam+y0yS5haPVQoNSL1434u8gKvS20j1NhlzqpNZttzyj root@VM_74_238_centos

要直接复制,不要自己修改。

网页上github进入到自己的某个项目,然后右边绿色按钮‘Clone or download’,点击后会弹出一个框,这个框的右上边有蓝色小字‘Use SSH’,点击它。然后出现一个链接,复制。

在linux终端输入:

git clone [email protected]:GoldArowana/flask_recommend.git

ls查看一下,已经下载成功

安装mysql
cd ~
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.20-1.el7.x86_64.rpm-bundle.tar

解压:

tar -xvf mysql-5.7.20-1.el7.x86_64.rpm-bundle.tar

先删掉自带的mariadb

yum remove mysql-libs

按一下顺序安装,因为有依赖关系。

rpm -ivh mysql-community-common-5.7.20-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.20-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.20-1.el7.x86_64.rpm
yum install libnuma*
rpm -ivh mysql-community-server-5.7.20-1.el7.x86_64.rpm

不装devel的话,python的mysqlclient第三方库装不上

rpm -ivh mysql-community-devel-5.7.20-1.el7.x86_64.rpm

装server前要装libnuma,不然会报错
error: Failed dependencies:
libnuma.so.1()(64bit) is needed by mysql-community-server-5.7.20-1.el7.x86_64
libnuma.so.1(libnuma_1.1)(64bit) is needed by mysql-community-server-5.7.20-1.el7.x86_64
libnuma.so.1(libnuma_1.2)(64bit) is needed by mysql-community-server-5.7.20-1.el7.x86_64

初始化数据库

mysqld –initialize

查看随机密码,最末尾冒号后面那个就是了

grep ‘temporary password’ /var/log/mysqld.log

2017-12-30T04:47:32.874673Z 1 [Note] A temporary password is generated for root@localhost: y20O-hwt.Bg<

更改mysql数据库目录的所属用户及其所属组

chown mysql:mysql /var/lib/mysql -R

启动mysql数据库

systemctl start mysqld.service

#CentOS 6中用这句话启动mysql服务器

service mysqld start

登陆数据库

mysql -uroot -p’y20O-hwt.Bg<‘

改密码:

set password=password(‘123456’);

退出数据库

exit

重新进去

mysql -u root -p’123456′

创建一个recommend数据库,因为我项目用到了。

create database recommend;

部署Flask
先不急着运行…先把python第三方库装上。。。

pip install flask
pip install flask-sqlalchemy
pip install flask-script
pip install ConfigParser
pip install –upgrade setuptools
pip install mysqlclient

进入到项目

cd flask_recommend

用flask-script写的脚本来建数据库表
我的是:

python manage.py run_test

报了这个异常:
SyntaxError: Non-ASCII character ‘\xe9’ in file manage.py on line 3,

解决办法:
第一行加这句注释

# -*- coding: UTF-8 -*-

或者把idea生成的头模板删掉@author:username什么的

开始启动

python3 runserver.py

注意runserver里是这样的

app.run(host=’0.0.0.0′, port=80, threaded=True)

查看进程和端口
用xshell新开一个会话,连接到同一个服务器。

netstat -anp|grep 80

可以查到80端口的占用情况
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 17628/python3

ps -aux

查看所有进程,其中就有runserver
root 17628 0.0 3.5 689808 36556 pts/1 S+ 13:15 0:00 python3 runserver.py

在后台运行
nohup python3 runserver.py > python.log3 2>&1 &

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/223548.html<

(0)
管理的头像管理
上一篇2025-04-16 00:36
下一篇 2025-04-16 00:38

相关推荐

  • 站群服务器和普通服务器到底哪个更适合GEO,怎么选?

    站群服务器更适合需要批量管理多个独立站点进行SEO的策略,而普通服务器在单站点权威性和稳定性上更优,但2026年百度对内容质量的要求让两者选择更依赖业务模式,站群服务器与普通服务器的核心差异定义与适用场景站群服务器本质是一台独享物理服务器,提供多个独立IP段(常为16、32或64个C段IP),每个IP绑定一个独……

    2026-07-28
    0
  • 物理服务器和云服务器做站群到底选哪个,哪个更稳定?

    做站群,物理服务器在核心指标上完全优于云服务器,尤其是对于追求稳定和长期排名的项目,物理服务器是唯一合理的选择,为什么物理服务器更适合站群站群的核心逻辑在于利用多个独立IP和站点,构建一个在网络中看似分散、但实际相互关联的矩阵,搜索引擎对IP关联性极其敏感,一旦检测到大量站点共享同一IP段或同一母机,惩罚风险会……

    2026-07-28
    0
  • 国内高防服务器哪家防御真实靠谱,怎么选?

    国内高防服务器哪家防御真实靠谱?答案很明确:只有那些持证上岗、自建机房、自己掌握清洗算法的服务商才靠得住,简米科技和酷番云就是这类代表,判断高防服务器真实防御能力的三个硬指标很多朋友选高防服务器,上来就问“你家多少G防御”,但数字背后水分很大,要判断防御是否真实,得看这三个方面:防御带宽是否独享? 有些服务商宣……

    2026-07-28
    0
  • 裸金属服务器和物理服务器有什么区别?,怎么选?

    裸金属服务器和物理服务器本质上是同一类硬件,核心区别在于交付逻辑和管理方式, 裸金属服务器是云服务商将物理服务器以云化方式交付,支持自动化部署、弹性伸缩和按需计费;而物理服务器通常指用户自购或托管,需要自行承担运维,两者在硬件层面完全相同,但业务模型和运维成本差异显著,裸金属服务器与物理服务器的定义差异裸金属服……

    2026-07-28
    0
  • 做GEO站群选哪家服务器服务商靠谱,怎么选?

    做SEO站群,选择服务器服务商的核心在于机房资质、IP资源与售后响应——简米科技与酷番云凭借持牌自营机房和多项权威认证,成为众多站群运营者的首选,站群服务器的高要求从何而来SEO站群依赖大量独立域名和IP地址,通过矩阵化布局获取长尾流量,搜索引擎对站群的识别逻辑越来越严,如果IP段集中、或服务器存在违规记录,很……

    2026-07-28
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注