常用的linux命令
进程命令
虚拟环境
虚拟环境 mkvirtualenv -p python3 环境名 退出虚拟环境 deactivate 进入虚拟环境 workon 环境名 查看所有的虚拟环境 workon 双击tab 查看已安装的包 pip freeze
flask数据迁移
初始化迁移文件夹
生成版本(会自动根据现有代码的数据库结构, 生成升级代码)
python main.py mc migrate -m “构建表结构” 升级版本
Redis数据库操作
启动redis数据库
sudo redis-server /etc/redis/redis.conf 终端访问redis数据库
sudo redis-cli -h 127.0.0.1 -p 6379 创建数据库集群
redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 访问数据库集群 访问集群必须加-c
sudo redis-cli -h 127.0.0.1 -p 7000 -c
Git相关操作
git config user.name JK_LK git config user.email 1050152847.lk@gmail.com
git config user.name --global
查看本地仓库状态
将工作区内容提交到暂存区
将暂存区内容提交到仓库区
查看仓库当前的版本
根据暂存区还原工作区
根据仓库区还原暂存区
切换到上一个版本(还会根据仓库区还原暂存区)
切换到指定版本(版本号前7位)
查看历史操作
删除工作区和暂存区文件
git rm 文件名, 此时提交git commit, 新版本就没有该文件了
如果已经提交了新版本, 先切换到上一个版本 git reset HEAD^, 再还原工作区git checkout 文件名
如果还没有提交新版本, 先还原暂存区git reset HEAD, 再还原工作区git checkout 文件名
只删除暂存区文件 git rm 文件名 --cached
还原仓库区和暂存区(默认) git reset HEAD^ --mixed
只还原仓库区 git reset HEAD^ --soft
还原仓库区&暂存区&工作区 git reset HEAD^ --hard
克隆远程仓库(下载项目代码, 并且包含本地仓库) git clone https://gitee.com/cz_zzz/InfoNews.git
推送本地版本到远程仓库 git push
拉取远程版本到本地仓库 git pull
记录密码 git config --global credential.helper store
项目经理:
给重要的版本打标签: git tag -a v1.0 -m "1.0版本" 版本号
将标签推送到远程仓库 git push origin v1.0
开发人员:
先拉取远程版本 git pull
查看所有的标签 git tag
查看标签对应的版本 git show v1.0
切换到对应的版本 git reset 版本号
项目经理:
创建分支 git branch dev
推送分支到远程仓库 git push origin dev -u
将稳定版本合并到主分支
先拉取远程版本git pull
再切换到主分支 git checkout master
合并分支 git merge dev
开发人员:
先拉取远程版本 git pull
切换到开发分支 git checkout dev
在开发分支中进行开发
项目部署
先更新 apt 相关源
sudo apt-get update
mysql安装
apt-get install mysql-server
apt-get install libmysqlclient-dev
redis安装
sudo apt-get install redis-server
安装虚拟环境
pip install virtualenv
pip install virtualenvwrapper
使得安装的virtualenvwrapper生效,编辑~/.bashrc文件,内容如下:
export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/workspace
source /usr/local/bin/virtualenvwrapper.sh
使编辑后的文件生效
source ~/.bashrc
在虚拟环境使用以下命令将当前虚拟环境中的依赖包以版本号生成至文件中:
pip freeze > requirements.txt
当需要创建这个虚拟环境的完全副本,可以创建一个新的虚拟环境,并在其上运行以下命令:
pip install -r requirements.txt
在安装 Flask-MySQLdb 的时候可能会报错,可能是依赖包没有安装,执行以下命令安装依赖包:
sudo apt-get build-dep python-mysqldb
安装
$ sudo apt-get install nginx
运行及停止
/etc/init.d/nginx start #启动
/etc/init.d/nginx stop #停止
配置文件
编辑文件:/etc/nginx/sites-available/default
# 如果是多台服务器的话,则在此配置,并修改 location 节点下面的 proxy_pass
upstream flask {
server 127.0.0.1:5000;
server 127.0.0.1:5001;
}
server {
# 监听80端口
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
# 请求转发到gunicorn服务器
proxy_pass http://127.0.0.1:5000;
# 请求转发到多个gunicorn服务器
# proxy_pass http://flask;
# 设置请求头,并将头信息传递给服务器端
proxy_set_header Host $host;
# 设置请求头,传递原始请求ip给 gunicorn 服务器
proxy_set_header X-Real-IP $remote_addr;
}
}
pip install gunicorn
查看选项
gunicorn -h
运行
# -w: 表示进程(worker) -b:表示绑定ip地址和端口号(bind)
gunicorn -w 2 -b 127.0.0.1:5000 运行文件名称:Flask程序实例名
Django相关
创建工程的命令为
django-admin startproject 工程名称 运行开发服务器
创建子应用模块目录
数据迁移
数据库相关操作
create user django identified by 'django';
grant all on django_1.* to 'django'@'%';
flush privileges;
说明:
第一句:创建用户账号 django, 密码 django (由identified by 指明)
第二句:授权meiduo_mall数据库下的所有表(django_1.*)的所有权限(all)给用户django在以任何ip访问数据库的时候('django'@'%')
第三句:刷新生效用户权限