首页 技术 正文
技术 2022年11月21日
0 收藏 764 点赞 3,865 浏览 4260 个字

上次在网上找了一个在阿里云Centos7.6中部署nginx1.16+uwsgi2.0.18+Django2.0.4的文档,可能是这个文档不是最新版的,安装的时候遇到了很多问题,

最后跟一个大神要了一个最新的配置文档,配置简单,很容易就可以部署好。

转载  v3u.cn

当你购买了阿里云的ecs,涉及ecs的有两个密码,一定要搞清楚,一个密码是远程链接密码,也就是通过浏览器连接服务器的密码,另外一个是实例密码,这个密码就是ecs的root密码,一般情况下,我们经常用到的是实例密码。

在阿里云Centos7.6中部署nginx1.16+uwsgi2.0.18+Django2.0.4在阿里云Centos7.6中部署nginx1.16+uwsgi2.0.18+Django2.0.4

与此同时,需要设置一下安全组策略,将一些必要的端口暴露出来,否则会被拦截

在阿里云Centos7.6中部署nginx1.16+uwsgi2.0.18+Django2.0.4

在阿里云Centos7.6中部署nginx1.16+uwsgi2.0.18+Django2.0.4

在阿里云Centos7.6中部署nginx1.16+uwsgi2.0.18+Django2.0.4

在阿里云Centos7.6中部署nginx1.16+uwsgi2.0.18+Django2.0.4

前置操作完成,就可以进行软件的安装了,可以通过一些三方的ssh软件进行连接,win下面流行的putty,xshell,moba等,这里推荐使用moba,可以语法高亮并且自动记住密码

安装python3 和 django 以及一些django扩展

yum install epel-releaseyum install python36wget --no-check-certificate https://bootstrap.pypa.io/get-pip.pypython3 get-pip.py安装django
pip3 install pymysqlpip3 install pillowpip3 install pycryptodomepip3 install cryptographypip3 install Django==2.0.4pip3 install djangorestframeworkpip3 install django-cors-headerspip3 install celerypip3 install celery-with-redispip3 install django-celery
pip3 install dwebsocket

安装opencv-python
yum  install  numpy  opencv*
pip3 install opencv-python
yum whatprovides libstdc++.so.6
yum install libstdc++-4.4.7-3.el6.i686
yum install libSM-1.2.2-2.el7.x86_64 --setopt=protected_multilib=false


新建工程,并且测试

django-admin startproject mypro
cd mypro
python3 manage.py runserver 0.0.0.0:8000

在阿里云Centos7.6中部署nginx1.16+uwsgi2.0.18+Django2.0.4

在阿里云Centos7.6中部署nginx1.16+uwsgi2.0.18+Django2.0.4

安装mysql

wget 'https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm'rpm -Uvh mysql57-community-release-el7-11.noarch.rpmyum install -y mysql-community-server
#启动服务
systemctl start mysqld
#查看服务状态
systemctl status mysqld查看数据库密码
grep 'temporary password' /var/log/mysqld.log
然后利用这个密码进入mysql命令行 mysql -uroot -p查到的密码SET PASSWORD = PASSWORD('Admin123!');设置远程登录
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Admin123!' WITH GRANT OPTION;
flush privileges;vim /etc/my.cnf
在[mysqld]下面添加,不需要分号
字符集:注意是utf8而不是utf-8!
character-set-server=utf8
这时候使用show variables like 'char%';就可以查看到字符集都是utf8了
sql支持group by语句
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
设置时区为东八区
default-time_zone = '+8:00'重启服务
systemctl restart mysqld设置开机启动
systemctl enable mysqld
systemctl daemon-reload如果需要更改为简单的密码1.停止mysql服务systemctl stop mysqld.service2.修改配置文件无密码登录vim /etc/my.cnf在最后加上skip-grant-tables保存3.启动mysqlsystemctl start mysqld.service4.登录mysqlmysql -u root注意这里不要加-p5.修改密码,mysql5.7用此语法use mysql;update mysql.user set authentication_string=password('123456') where user='root' ; 6.回到第二部把刚加的那句删掉保存,重启mysql就可以了

测试mysql服务

在阿里云Centos7.6中部署nginx1.16+uwsgi2.0.18+Django2.0.4

在阿里云Centos7.6中部署nginx1.16+uwsgi2.0.18+Django2.0.4

安装redis

yum install redis启动服务
systemctl start redis查看版本号
redis-cli --version设置开机启动
systemctl enable redis.service

测试redis服务

在阿里云Centos7.6中部署nginx1.16+uwsgi2.0.18+Django2.0.4

在阿里云Centos7.6中部署nginx1.16+uwsgi2.0.18+Django2.0.4

安装mongodb

vim /etc/yum.repos.d/mongodb-org-3.4.repo#添加以下内容:
[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=0
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc清空缓存
yum makecache安装
yum -y install mongodb-org启动服务
systemctl start mongod.service停止服务
systemctl stop mongod.service查看服务状态
systemctl status mongod.service重启服务
systemctl restart mongod.service

测试mongo

在阿里云Centos7.6中部署nginx1.16+uwsgi2.0.18+Django2.0.4

在阿里云Centos7.6中部署nginx1.16+uwsgi2.0.18+Django2.0.4

安装nginx

#设置源
sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm#安装
yum install -y nginx#启动服务
systemctl start nginx.service#关闭服务
systemctl stop nginx.service#开机自启
systemctl enable nginx.service#修改配置文件vim /etc/nginx/conf.d/default.conf改成下面的配置server {
    listen       80;
    server_name  localhost;    access_log      /root/myweb_access.log;
    error_log       /root/myweb_error.log;    client_max_body_size 75M;    location / {
        include uwsgi_params;
uwsgi_pass 127.0.0.1:8000;
        uwsgi_param UWSGI_SCRIPT mypro.wsgi;
        uwsgi_param UWSGI_CHDIR  /root/mypro;    }    location /static {
        alias /root/mypro/static;
    }
}

设置项目权限
chmod -R 755 /root/mypro
#修改配置
vim /etc/nginx/nginx.conf
将第一行改为 user root;
然后重启nginx
测试nginx服务,这里注意下,在不修改nginx配置文件的时候才会出现下面的欢迎页面,如果修改了以后是不能访问默认欢迎页面的
在阿里云Centos7.6中部署nginx1.16+uwsgi2.0.18+Django2.0.4
 

在阿里云Centos7.6中部署nginx1.16+uwsgi2.0.18+Django2.0.4安装uwsgi

uWSGI本身也是web服务器,但因为性能不高,通过nginx中转能够发挥更好的效果安装依赖
yum install python36-devel安装
pip3 install uwsgi软连接
ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi进入项目目录启动服务
uwsgi --http :8000 --module mypro.wsgi效果和 python3 manage.py runserver 0.0.0.0:8000一致热启动
uwsgi --http :8000 --module mypro.wsgi --py-autoreload=1进入项目,编写uwsgi.ini配置文件 vim mypro_uwsgi.ini
[uwsgi]chdir           = /root/mypro
module = mypro.wsgi
master = true
processes = 3
socket = 0.0.0.0:8000
vacuum = true
pythonpath = /usr/bin/python3
pidfile = /root/mypro/mypro.pid
daemonize = /root/mypro/uwsgi.log

启动项目,这里需要注意下,如果你想用uwsgi独立访问网站,就需要把上面配置文件中的socket改成http,如果想用nginx代理,就写成socketuwsgi --ini mypro_uwsgi.ini后台启动uwsgi -d --ini mypro_uwsgi.ini
杀死和关闭 uwsgi服务
killall -s INT /usr/local/bin/uwsgi
停止服务
uwsgi --stop mypro.pid
重载服务
uwsgi --reload mypro.pid查看服务ps aux|grep uwsgi

最后,nginx通过监听80端口反向代理uwsgi启动的django服务,访问网站进行测试

在阿里云Centos7.6中部署nginx1.16+uwsgi2.0.18+Django2.0.4

在阿里云Centos7.6中部署nginx1.16+uwsgi2.0.18+Django2.0.4

大功告成

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,991
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,506
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,349
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,134
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,766
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,844