安装python3
已经自带
否则百度 Python升级
# 下载源码包
zhiranyouni$ tar xfz Python-3.6.1.tgz
zhiranyouni$ ./configure --prefix=/usr/bin/python3.6
zhiranyouni$ sudo make
zhiranyouni$ sudo make install
报错 No module named '_ctypes’ 3.7版本需要一个新的包libffi-devel,安装此包之后再次进行编译安装即可。(百度出结果)
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo apt-get install build-essential python-dev python-setuptools python-pip python-smbus
sudo apt-get install build-essential libncursesw5-dev libgdbm-dev libc6-dev
sudo apt-get install zlib1g-dev libsqlite3-dev tk-dev
sudo apt-get install libssl-dev openssl
sudo apt-get install libffi-dev
ln -s /usr/bin/python3.6/bin/python3.6 /usr/bin/python
python3中pip3安装出错, 找不到SSL
安装mysql服务:
sudo apt-get install mysql-server
安装mysql客户端:
sudo apt install mysql-client
安装连接渠道(应该是):
sudo apt install libmysqlclient-dev
查看mysql状态:
sudo netstat -tap | grep mysql
注释只能本地访问:
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
注释掉
bind-address = 127.0.0.1
授予权限:对外开放
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'lijia@1611' WITH GRANT OPTION;
刷新权限:
flush privileges;
重启mysql:
service mysql restart
mysql默认端口:3306
password:******
简书
sudo service mongod start
sudo service mongod restart
sudo service mongod stop
git --help 或者git 先查看git是否安装
sudo apt-get install git
# 先查看是否安装了
pip list
apt install python-pip
# pip升级
pip install --upgrade pip
# pip 批量安装包:
pip install -r requirements.txt
# 查看教程
pip --help
virtualenv --version # 先查看是否安装
pip install virtualenv
# 创建目录:
mkdir chongli_front
# 初始化git:
git init
# 查看python版本,新建python虚拟环境
virtualenv -p /usr/bin/python3 venv_py3
# 激活虚拟环境:
source venv_py3/bin/activate
flask使用实例
pip install flask
# 开始工程
mkdir chongli_tour
测试是否外网可以访问:
需要配置云服务器的公网,子网,安全组等,配置出站,入站规则
签出版本,进行测试。
先创建虚拟环境,开启虚拟环境,配置需要包文件
git checkout 2c
python hello.py runserver --host 0.0.0.0
# 自动根据mysql表生成model
pip install sqlacodegen
sqlacodegen mysql://root:[email protected]:3306/mydb > models.py
sqlacodegen mysql://root:[email protected]/crm
配置完flask_sqlalchemy, 发现连接不上数据库,显示ImportError: No module named MySQLdb
经百度发现:
https://www.cnblogs.com/guohaojintian/p/6030818.html
https://stackoverflow.com/questions/454854/no-module-named-mysqldb
然而在进行安装这些mysql和python连接的库的时候,又出现了其他错误。
setup script exited with error: command ‘x86_64-linux-gnu-gcc’ failed with exit status 1
https://stackoverflow.com/questions/26053982/setup-script-exited-with-error-command-x86-64-linux-gnu-gcc-failed-with-exit
经过,看上面的连接,才解决,python2,和python3安装的东西,不一样。具体看连接吧,
https://www.jb51.net/article/49789.htm
https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/0014021031294178f993c85204e4d1b81ab032070641ce5000 廖雪峰
flask设置可以任何ip访问
if __name__ == '__main__':
app.run(host='0.0.0.0',port=5000,debug=True)
静态资源图片上传,下载
使用云服务商对象处理的服务:
使用对象处理,更改域名指向,能够直接取得图片,但是是以跳转的形式,进行鉴权和授权的。
https://blog.csdn.net/qq_28018283/article/details/78223478
回顾一下整个系统的流程,当用户通过 www.leon0204.com 访问 static.leon0204.com/article/like.jpg 的静态资源时,会绕服务器,解析到 static.leon0204.com.w.kunlunar.com 去,
cdn 会查找缓存是否有命中的,第一次访问的时候 cdn 的缓存为空,cdn 去设置的 源站oss 查找, leonimg.oss-cn-shenzhen.aliyuncs.com ,然后分发给用户,这样一套流程就完成了。
https://www.leon0204.com/article/66.html
https://blog.csdn.net/DADADIE/article/details/50768947
网站开发动静分离实践—优缺点
微信小程序上传图片的处理和记录方式。
https://blog.csdn.net/baidu_25797177/article/details/76397691
Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。它是通过fork/exec的方式把这些被管理的进程当作supervisor的子进程来启动,这样只要在supervisor的配置文件中,把要管理的进程的可执行文件的路径写进去即可。也实现当子进程挂掉的时候,父进程可以准确获取子进程挂掉的信息的,可以选择是否自己启动和报警。supervisor还提供了一个功能,可以为supervisord或者每个子进程,设置一个非root的user,这个user就可以管理它对应的进程。
sudo supervisorctl 进入控制台
help查看看帮助,
start 开始
restart 重启
status 查看状态
sudo supervisorctl restart www 命令叠加直接执行。
理解web框架(合并网站开发中重复的东西)<–>wsgi<–> web 服务器(接受http请求,处理后将请求交给应用服务器, 然后拼装正确的http response返回)
缓存机制:讲一些经常被访问的页面缓存起来,提高响应速度;
安全:防止黑客的各种攻击,比如 SYN Flood 攻击;
并发处理:如何响应不同客户端同时发起的请求;
日志:记录访问日至,方便做一些分析。
https://www.cnblogs.com/houruikk/p/6623594.html