阿里云CentOS7 下部属nginx+uwsgi+python3+django
- 安装依赖包
yum -y groupinstall "Development tools"
yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel psmisc libffi-devel
- 安装python
个人习惯安装软件至/usr/local/目录
cd /usr/local/
wget https://www.python.org/ftp/python/3.10.4/Python-3.10.4.tgz
解压
tar -zxvf Python-3.10.4.tgz
进入文件夹
cd Python-3.10.4
编译安装到指定路径
./configure --prefix=/usr/local/python3
安装
make && make insall
建立软连接
ln -fs /usr/local/python3/bin/python3.10 /usr/bin/python3
ln -fs /usr/local/python3/bin/pip3.10 /usr/bin/pip3
- 安装虚拟环境
pip3 install virtualenv
建立软连接
ln -s /usr/local/python3/bin/virtualenv /usr/bin/virtualenv
安装成功在根目录下建立两个文件夹,主要用于存放env和网站文件的
mkdir -p /data/env
mkdir -p /data/wwwroot
启动虚拟环境
cd /data/env/pyweb/bin
source activate
- 安装django
pip3 install django (如果用于生产的话,则需要指定安装和你项目相同的版本)
进入项目根目录
cd /data/wwwroot/mysite
测试是否正常启动 python3 manage.py runserver
- 安装uwsgi
pip3 install uwsgi
留意:uwsgi要安装两次,先在系统里安装一次,然后进入对应的虚拟环境安装一次。
建立软连接
ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi
配置uwsgi
XML格式的配置文件
/data/wwwroot/mysite/,在项目根目录下创建
mysite.xml文件,输入如下内容:
<uwsgi>
<socket>127.0.0.1:8080</socket> <!-- 内部端口,自定义 -->
<chdir>/data/wwwroot/mysite/</chdir> <!-- 项目路径 -->
<module>mysite.wsgi</module> <!-- mysite为wsgi.py所在目录名-->
<processes>4</processes> <!-- 进程数 -->
<daemonize>uwsgi.log</daemonize> <!-- 日志文件 -->
</uwsgi>
保存
注意里的mysite,为wsgi.py所在的目录名。
这种方式的配置,可以用下面的命令启动.
启动uwsgl
uwsgi -x mysite.xml
uwsgi有没有启动成功,可以用下面的命令查看
ps -ef|grep uwsgi
如果想重启uwsgi,先使用下面的命令杀掉进程,再启动uwsgi
killall -9 uwsgi
注意uwsgi转发的不支持http浏览,需要配置nginx才能访问。
- 安装nginx
进入/usr/local/
cd /usr/local/
下载压缩包
wget http://nginx.org/download/nginx-1.21.6.tar.gz
解压缩
tar -zxvf nginx-1.21.6.tar.gz
进入解压后的文件夹执行命令
./configure
make && make install
进入nginx安装目录
cd /usr/local/nginx
修改nginx.conf
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
server {
listen 8888;
server_name www.django.cn; #改为自己的域名,没域名修改为127.0.0.1:8888
charset utf-8;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8080; #端口要和uwsgi里配置的一样
uwsgi_param UWSGI_SCRIPT mysite.wsgi; #wsgi.py所在的目录名+.wsgi
uwsgi_param UWSGI_CHDIR /data/wwwroot/mysite/; #项目路径
}
location /static/ {
root /data/wwwroot/mysite/; #静态资源路径 此处为Django中配置的static的静态文件路径去掉static
}
}
}
启动ngnix
cd /usr/local/nginx/sbin/
执行启动指令
./nginx
配置防火墙
启动防火墙 systemctl start firewalld.service
开启端口firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --zone=public --add-port=8888/tcp --permanent
开放http服务
firewall-cmd --add-service=http --permanent
重启防火墙生效
firewall-cmd --reload配置阿里云安全组规则

完成后,即可通过外网ip加8888端口号访问服务了!!
参考链接
- https://blog.csdn.net/qq_33316931/article/details/120200519
- https://www.django.cn/article/show-4.html#banqian
- https://www.freesion.com/article/22611023372/
- https://blog.csdn.net/AntInSnow/article/details/119609127
阿里云CentOS7 下部属nginx+uwsgi+python3+django的更多相关文章
- centos7 下通过nginx+uwsgi部署django应用
1. 安装python3.6 1. 获取 wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz tar -xzvf Python- ...
- CentOS 环境下基于 Nginx uwsgi 搭建 Django 站点
因为我的个人网站 restran.net 已经启用,博客园的内容已经不再更新.请访问我的个人网站获取这篇文章的最新内容,CentOS 环境下基于 Nginx uwsgi 搭建 Django 站点 以下 ...
- 阿里云centos7搭建php+nginx环境
阿里云Centos搭建lnmp(php7.1+nginx+mysql5.7) https://jingyan.baidu.com/article/215817f7a10bfb1eda14238b.ht ...
- centos7下部署Django(nginx+uwsgi+python3+django)
系统版本 centos7 python版本 使用官方python3.6.3正式版 django版本 使用本文发布时最新的1.11.7 uwsgi版本 使用本文发布时最新的2.0.15 nginx版本 ...
- [阿里云部署] Ubuntu+Flask+Nginx+uWSGI+Mysql搭建阿里云Web服务器
部署地址:123.56.7.181 Ubuntu+Flask+Nginx+uWSGI+Mysql搭建阿里云Web服务器 这个标题就比之前的"ECS服务器配置Web环境的全过程及参考资料&qu ...
- 阿里云 centOS7.4新装nginx 不能访问
反复装了几遍ngxin,什么防火墙,nginx.conf改了好几次都不能访问外网的ip, 原因是阿里云这货新的服务器根本就没开通443,80端口,真是坑人啊 点击配置规则,增加端口就行了 添加安全规则 ...
- centos7下采用Nginx+uwsgi来部署django
之前写过采用Apache和mod_wsgi部署django,因为项目需要,并且想比较一下Nginx和Apache的性能,尝试采用Nginx+uwsgi的模式来部署django. 1.安装uwsgi以及 ...
- 阿里云Centos下安装nginx之后外网无法访问
centos 7.4 nginx1-14.0编译安装 curl 127.0.0.1 可以请求到 index.html curl local 可以请求到 index.html http://ip/ 无法 ...
- 阿里云centos7[linux]安装nginx
标题 说明 服务器版本 Centos7 x64 nginx版本 1.19.6 作者 walton 一.准备 创建安装包目录并进入 mkdir /usr/dev/nginx cd /usr/dev/ng ...
- 阿里云centos下安装nginx、jdk、tomcat、绑定域名、解析域名
1.ESC后安全设置(管理控制台->本实例安全组->配置规则->添加安全组规则->3306.80端口配置) 2.nginx 安装,首先安装三大件 PCRE.zlib.ope ...
随机推荐
- ASP.NET Core Web API通过中间件或UseExceptionHandler异常处理方法
UseExceptionHandler app.UseExceptionHandler(configure => { configure.Run(async context => { va ...
- mybatis查询返回多条数据
返回User类型的list <select id="queryAllUser" resultType="org.example.entity.User"& ...
- robots.txt详解[通俗易懂]
大家好,又见面了,我是你们的朋友全栈君. 怎样查看robots文件? 浏览器输入 主域名/robots.txt robots.txt的作用 robots.txt 文件规定了搜索引擎抓取工具可以访问网站 ...
- AI 智能搜索 开源hanlp实现
AI智能搜索 通过网络资源可知有很多种开源方式实现智能搜索,其中hanlp在GitHub中响应居高 参考链接: https://www.hanlp.com/ Java版:https://github. ...
- PMP学习:弱势乙方如何利用阶段性需求固化搞定甲方
- 2022-04-13内部群每日三题-清辉PMP
1项目经理正在执行一个资源有限,期限严格的引人注目的项目.该项目目前落后于进度,对资源平衡的审查显示,一些资源被过度分配.请问项目经理应该怎么办? A.重新分配来自另一个项目不必要的资源 B.为延迟的 ...
- 《Unix/Linux系统编程》第十四章学习笔记 20201209戴骏
MySQL数据库系统 知识点总结 一.MySQL MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一 ...
- 实验一 密码引擎-1-OpenEuler-OpenSSL编译
1. 下载最新的OpenSSL源码 2. 用自己的8位学号建立一个文件夹,cd 你的学号,用pwd获得绝对路径 3. 参考https://www.cnblogs.com/rocedu/p/508762 ...
- 生产者消费者demo
using System; using System.Collections.Generic; using System.Threading; namespace 生产者消费者 { class Pro ...
- React-Native笔记--node_modules删除
在开发RN项目过程中,经常会用到删除node_modules文件夹的命令,现总结如下: 方式1: npm install rimraf -g rimraf node_modules方式2: rmdir ...