- 安装依赖包
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>
保存
注意
这种方式的配置,可以用下面的命令启动.
启动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端口号访问服务了!!
参考链接
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)