小白第一次部署上线——Centos+uwsgi+Nginx

写Django项目一段时间了,但是由于没有怎么操作过linux,所以自己没有尝试过上线,目前是时候Get 部署技能了!

第一介绍一下技术栈:

Centos7、python3、Django、uwsgi、Nginx、FileZilla

具体如何在安装Centos7,python3、FileZilla这里就不介绍了,跟着网上的教程,基本不会出错。

接下来就是部署uWSGI服务器:

uWSGI是一个Web服务器,它实现WSGI、uWSGI和HTTP等网络协议,而且Nginx的HttpUwsgiModule能与uWSGI服务器进行交互。WSGI是一种Web服务器网关接口,它是web服务器(如Nginx服务器)与Web应用(如Django框架实现的应用)通信的一种规范。

在部署uWSGI服务器之前,需要在Python3中安装相应的模块,直接用pip3安装就可以了:

小白第一次部署上线——Centos+uwsgi+Nginx

小白第一次部署上线——Centos+uwsgi+Nginx

这里需要注意一下,由于Centos7系统默认安装了python2,所以如果直接通过uwsgi指令启动的话,则会调用python2的uwsgi,从而导致报错,所以这里先要为python3对应的uwsgi创建软连接,具体操作如下。

       1. 第一查看uwsgi的安装路径:

小白第一次部署上线——Centos+uwsgi+Nginx

       2.创建软链接:

小白第一次部署上线——Centos+uwsgi+Nginx

此时再执行uwsgi就是启动的python3所安装的uwsgi

小白第一次部署上线——Centos+uwsgi+Nginx

下面是对上图指令所使用的参数的解释:

–http 是使用uWSGI自带的http协议(这种情况下不需要nginx可以直接访问)。当和nginx一起使用时,指定socket或http-socket即可。

–chdir 是指Django项目所在的目录,要使用绝对路径。

–wsgi-file project/wsgi.py 指的是WSGI规范文件所在的位置,这个文件在创建项目时自动生成。project表明项目名称,在我的实例中为cloudms。

指令运行后,可以在本地的浏览器中输入虚拟系统的IP地址+8080端口查看测试结果,在浏览器上访问虚拟机ip(如http://192.168.88.120:8080/),我们可以看到cloudms的首页信息。至于怎么看自己虚拟机的ip,ifconfig就可以啦。

特别提醒:如果此时你访问浏览器,弹出:

小白第一次部署上线——Centos+uwsgi+Nginx

不要慌,在自己的项目文件中的setting里将ALLOWED_HOSTS = [ ] 改成 ALLOWED_HOSTS = [“*”]即可。然后重新上传到Centos7。

小白第一次部署上线——Centos+uwsgi+Nginx

uWSGI测试成功之后,下一步就是为项目cloudms编写配置文件。当项目运行上线时,只需执行uWSGI配置文件即可运行项目cloudms的uWSGI服务器。在项目cloudms的根目录下创建cloudms_uwsgi.ini配置文件,文件代码如下:

小白第一次部署上线——Centos+uwsgi+Nginx

然后输入uwsgi(uwsgi –ini cloudms_uwsgi.ini)指令,通过配置文件启动uWSGI服务器,如下图所示:

小白第一次部署上线——Centos+uwsgi+Nginx

注意:由于配置属性socket = :8080与只能用于UWSGI服务器与Nginx服务器之间的通信,所以不能通过访问浏览器检测是否成功。

最后安装Nginx部署项目

小白第一次部署上线——Centos+uwsgi+Nginx

不多说看图,不会出错。

下一步就是设置Nginx的配置文件,经Nginx服务器与uWSGI服务器实现通信连接。将虚拟系统Centos的路径切换到/etc/nginx/conf.d,在当前路径中创建并编辑cloudms.conf配置文件,代码如下:

小白第一次部署上线——Centos+uwsgi+Nginx

注意:部分地方改成自己项目的路径,灵活一点哈!

小白第一次部署上线——Centos+uwsgi+Nginx

小白第一次部署上线——Centos+uwsgi+Nginx

小白第一次部署上线——Centos+uwsgi+Nginx

好啦!部署上线完成啦!快去浏览器访问虚拟机ip(如http://192.168.88.120:8090/)看看(这里8090是由Nginx的配置文件cloudms.conf设置的)

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容