nginx+uwsgi项目部署

项目部署
导入和安装pip

pip freeze > plist.txt

uWsgi

# 安装,需要下载uwsgi包
pip install uwsgi
yum install python-devel # 装依赖

# 配置uwsgi,在项目中新建文件uwsgi.ini,编写如下配置
[uwsgi]
socket=外网ip:端口(使用nginx连接时,使用socket)
http=外网ip:端口(直接做web服务器,使用http)

# Django wsgi.py 创建项目自动生成
wsgi-file= /opt/DjaongPro/wsgi.py # 项目管理的目录wsgi.py 的路径

# flask
[uwsgi]
socket = 127.0.0.1:8000
callable = app
# http = 0.0.0.0:8888 # web代理
pythonpath = /home/zby/flaskPro/ # 项目文件夹
module = manager # 启动文件manager.py ,省掉py
processes=4
threads=2
master=True
pidfile=/opt/uwsgi/uwsgi.pid # 这个可以自动生成,用来控制uwsgi停止
daemonize=/opt/uwsgi/uwsgi.log


# 启动
uwsgi –ini uwsgi.ini
# 停止
uwsgi –stop uwsgi.pid
# 重启
uwsgi –reload uwsgi.pid
# 使用http协议查看网站运行情况,运行正常,但是静态文件无法加载

nginx

# nginx包下载
http://nginx.org/en/download.html
# 安装nginx
sudo apt-get nginx # 有网的情况
# 还可以下载好直接压缩
tar -zxvf nginx-1.6.3.tar.gz
# 进入nginx-1.6.3目录一次执行如下命令进行安装:
./configure
sudo make
sudo make install
# 默认安装到/usr/local/nginx目录,进入此目录执行目录
# 查看版本:sudo sbin/nginx -v
# 启动:sudo sbin/nginx
# 停止:sudo sbin/nginx -s stop
# 重启:sudo sbin/nginx -s reload
# 通过浏览器查看nginx运行结果
# 指向uwsgi项目:编辑conf/nginx.conf文件
conf/nginx.conf
在server下添加新的location项,执行uwsgi的ip和端口
location / { # / 就是进行匹配的路由(即url),匹配成功就执行{}里的代码
include uwsgi_params; # 将所有的参数转到uwsgi下
uwsgi_pass uwsgi的ip和端口; # 相当于转到了uwsgi那里了
}
# 监听多个端口
listen 80;
listen 8080;
# 配置信息 nginx.conf的http下
server{
listen 80;
server_name localhost;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8000;
uwsgi_param UWSGI_SCRIPT wsgi;
uwsgi_param UWSGI_CHDIR /home/zby/flaskPro/;
index index.html index.htm;
client_max_body_size 35m;
}
}

# 启动nginx
sudo service nginx restart

# 查看nginx的状态
nginx

# 启动
systemctl restart nginx

# 停止
nginx -s stop

# 启动
service nginx start # 这样启动不行的话,可以选择执行的文件
# 找到nginx的二进制文件 find / -name nginx 可以创个软连接 ln -s 目标文件/nginx /usr/bin/nginx
# 编译配置文件,并且启动
nginx -c /usr/local/nginx/conf/nginx.conf # 来启动修改的配置

# 如果出现502把这几个信息添加到nginx配置 http下面
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffers 8 16k;
fastcgi_buffer_size 32k;

git

# 创建github账号
本地Git仓库和GitHub仓库之间的传输是通过SSH加密的
step1:创建项目的SSH key
ssh-keygen -t rsa -C ‘123@qq.com’ # 邮箱地址
创建完成后,在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的密钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人
step.2登录github注册或登录账号,打开settings的SSH Keys页面,然后,点New SSH Key,填上任意的Title,在Key文本框里粘贴id_rsa.pub文件的内容,点’Add Key’,你就应该看到已经添加的Key

# 创建远程库
登录GitHub
在右上角找到new repository按钮,创建一个新的仓库

# 从远程库克隆
将github上的项目,克隆到本地一份
git clone url

# 与远程库获取到本地
git pull

# 将本地提交远程库
git push origin master
注意:每次提交前,需要先获取,解决冲突后再次提交

git config –global user.name ‘zs’
git config –global user.email 123@qq.com

git add 文件1 文件2
git add 目录
git commit -m “信息”

# 版本回退
git reset HEAD^ # 回到上一个版本或者版本号
git checkout 文件名 # 哪一个文件回退

# 查看历史提交记录
git log

# 查看缓存区的信息
git status

有网的情况
nginx安装

sudo rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

sudo yum install nginx

service nginx start
service nginx stop
service nginx reload # 重载,一般用这个
service nginx restart # 重启
# 防火墙打开80端口,在外面就可以访问该端口了
/etc/nginx/conf.d/default.conf # 查看里面的配置
location / {
root /usr/share/nginx/html; # 取这个文件下找
# index 表示索引,找index.html 或 index.htm
index index.html index.htm; # 访问本地ip的跟目录,及访问 http://192.168.0.142/,会返回这个index.html
}
————————————————
版权声明:本文为CSDN博主「ZbyFt」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42149982/article/details/87617308