centos7下结合nginx与uwsgi,部署django项目

前一段时间在阿里云买了一个云服务器,尝试着部署了一下django项目。过程还算顺利,下面介绍介绍具体操作。

安装软件

我们第一步需要安装需要用到的软件,centos使用yum安装软件,在部署时需要用到的软件有MySQL、nginx、Python3.6。

MySQL安装

#下载mysql的repo源
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

#安装mysql-community-release-e17-5.noarch.rpm
rpm -ivh mysql-community-release-e17-5.noarch.rpm

#安装mysql
yum install mysql-server

Python3.6安装

我们使用pyenv来管理我们的Python版本。因此,需要先安装pyenv。

安装pyenv之前要先安装好依赖的库文件。

yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel

接下来安装pyenv。

mkdir ~/.pyenv
git clone git://github.com/yyuu/pyenv.git ~/.pyenv  
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc  
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc  
echo 'eval "$(pyenv init -)"' >> ~/.bashrc  
exec $SHELL -l 

下面我们就可以使用pyenv来安装python了。

pyenv install 3.6.4 

我们也可以使用pyenv来将3.6.4设置为默认版本。

pyenv global 3.6.4

nginx安装

#安装nginx需要的库
rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

#安装nginx
yum install nginx

项目配置

配置uwsgi

将项目上传到云服务器上,上传可以使用WinSCP这个软件。

使用pip安装uwsgi库。

pip install uwsgi

在项目根目录下创建一个blog.ini文件。因为我的项目是一个博客,所以就创建了这样的一个文件名,你也可以修改文件名。接下来是重点,在文件中输入以下代码

[uwsgi]
#用户名,不要用root,你可以创建一个用户,在此处写上用户名。
uid = jin
http = 127.0.0.1:8001
chmod-socket = 666
#项目根目录
chdir = /home/blog/blog/
#wsgi.py文件相对根目录所在位置
wsgi-file = blog/wsgi.py
touch-reload = /blog/blog
py-auto-reload = 1
processes = 4
threads = 2

配置nginx

进入nginx所在目录: 'cd /etc/nginx/conf.d',此时目录中会有一个default.conf文件,删除该文件,创建新文件并编辑:'vim blog_nginx.conf'

server {
	listen 80 default_server;
        #此处写你的域名
	server_name www.blog.com blog.com;
	charset utf-8;
	client_max_body_size 75M;
	root /home/blog;

	#静态资源
	location /static {
		alias /home/blog/blog_static;
	
	}

	location /media {
		alias /home/blog/blog/media;
	}

    
	location / {
		include /etc/nginx/uwsgi_params;
		proxy_pass http://127.0.0.1:8001;
	
	}
}

启动

启动mysql

systemctl start mysqld

启动nginx服务器

systemctl start nginx

启动uwsgi

进入刚才创建blog.ini的目录,终端输入'uwsgi blog.ini'。

此时在网站中输入你的域名,就能够看到你的项目了。

注意一点,django项目中静态资源的处理,可使用 'python manage.py collectstatic'命令。若想要结束uwsgi服务,可以使用'ps aux |grep uwsgi'查看进程,然后使用'kill -9 进程号'来结束uwsgi进程。

猜你喜欢

转载自blog.csdn.net/j123__/article/details/82748219