使用uwsgi和nginx在服务器部署django项目

本文详述了如何使用uwsgi和nginx在服务器上部署django项目,包括创建虚拟环境、配置uwsgi.ini文件以及设置nginx,最后通过sudo nginx -s reload和uwsgi --ini uwsgi.ini命令启动服务,实现项目部署。同时,文章还提及了解决3306端口问题的方法。
摘要由CSDN通过智能技术生成

使用uwsgi和nginx在服务器部署django项目

详细流程

创建虚拟环境 为了项目环境的最小化,为了防止多个项目环境的冲突
**sudo apt-get install python3-venv #安装python3-venv

	python3 -m venv 环境名字  #创建虚拟环境
	
	source 环境路径/环境名/bin/activate #激活虚拟环境
	
	环境下安装 项目所需要的包
	
	下载uwsgi:

	sudo apt-get install uwsgi

     下载nginx:

    	sudo apt-get install nginx**
    
	环境下运行django项目
	
		python manage.py runserver
	
	解决 musql-client 错误信息   运行以下命令解决
	
		sudo apt-get install mysql-server mysql-client

    	mysql -V 查看mysql是否安装成功

		sudo apt-get install libmysqlclient-dev python3-dev

		pip install mysql-client
	远程连接阿里云服务器mysql数据库

	添加阿里云安全规则的mysql3306端口

		1.vi /etc/mysql/mysql.conf.d/mysqld.cnf #打开更改musql配置文件

		注释掉 address = 127.0.0.1 这一行

		2.mysql 用户表添加用户并将host设置为所有ip都能访问

		登陆:mysql -u root localhost -p

		GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;

		FLUSH PRIVILEGES #刷新权限

		exit :退出
		
		netstat -an|grep 3306 # 查看3306端口是否打开 
		重启服务
		service mysql stop
		service mysql start
		
		配置django 项目:

		django --settings.py 修改数据库连接 ‘host’:云端公网ip

		settings.py最后 添加 STATIC_ROOT = os.path.join(BASE_DIR, "static/")

		在项目目录下执行 python manage.py collectstatic

		正常运行进行下一步

项目目录下创建uwsgi.ini:

			touch uwsgi.ini
		
			[uwsgi]
		
			#socket = 127.0.0.1:3031
		
			socket=mysite.sock
		
			chdir = /home/一点资讯
		
			wsgi-file = 一点资讯/wsgi.py
		
			processes = 4
		
			threads = 2
		
			stats = 127.0.0.1:9191
		
			chmod-socket=666
		
			plugin = python  #这个和下面应该是处理中文格式的
		
			pythonpath = /home/wei/桌面/一点资讯/venv/lib/python3.6/site-packages
	 	启动uwsgi: uwsgi --ini uwsgi.ini #建立mysite.sock
	
		后台启动: uwsgi -d --ini uwsgi.ini
	
		停止: uwsgi --stop uwsgi.pid
		uwsgi处理进程:

		查进程:ps aux | grep 进程

		杀进程: killall -9 进程

最后配置 nginx:



	cd 到nginx的配置文件

	server {

        listen       80; 

        server_name  127.0.0.1;

        location / { 

            include uwsgi_params;

            # proxy_pass  http://127.0.0.1:8080;

            # uwsgi_pass  127.0.0.1:3031;

            uwsgi_pass unix:///home/gavin/Desktop/Hello/mysite.sock;  

        }   

		location /static {

           alias /home/gavinsun/sites/django_blog/static;
		}
}

配置完成 同时启动 nginx,uwsgi 完成项目部署

sudo nginx -s reload

uwsgi --ini uwsgi.ini

解决3306端口问题
mysql 1098错误官方文档

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值