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

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

转载  v3u.cn

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

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

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

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

yum install epel-release

yum install python36

wget --no-check-certificate https://bootstrap.pypa.io/get-pip.py

python3 get-pip.py

安装django
pip3 install pymysql

pip3 install pillow

pip3 install pycryptodome

pip3 install cryptography

pip3 install Django==2.0.4

pip3 install djangorestframework

pip3 install django-cors-headers

pip3 install celery

pip3 install celery-with-redis

pip3 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

安装mysql

wget 'https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm'

rpm -Uvh mysql57-community-release-el7-11.noarch.rpm

yum 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.service 2.修改配置文件无密码登录 vim /etc/my.cnf 在最后加上 skip-grant-tables 保存 3.启动mysql systemctl start mysqld.service 4.登录mysql mysql -u root 注意这里不要加-p 5.修改密码,mysql5.7用此语法 use mysql; update mysql.user set authentication_string=password('123456') where user='root' ; 6.回到第二部把刚加的那句删掉 保存,重启mysql就可以了

测试mysql服务

安装redis

yum install redis

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

测试redis服务

安装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

安装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配置文件的时候才会出现下面的欢迎页面,如果修改了以后是不能访问默认欢迎页面的
 

安装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代理,就写成socket

uwsgi --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的更多相关文章

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

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

  2. 阿里云Centos7.6上面部署基于redis的分布式爬虫scrapy-redis将任务队列push进redis

    Scrapy是一个比较好用的Python爬虫框架,你只需要编写几个组件就可以实现网页数据的爬取.但是当我们要爬取的页面非常多的时候,单个服务器的处理能力就不能满足我们的需求了(无论是处理速度还是网络请 ...

  3. 在阿里云Centos7.6上面部署基于Redis的分布式爬虫Scrapy-Redis

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_83 Scrapy是一个比较好用的Python爬虫框架,你只需要编写几个组件就可以实现网页数据的爬取.但是当我们要爬取的页面非常多的 ...

  4. 新手之首次部署阿里云centos7+mysql+asp.net mvc core应用之需要注意的地方

    先来几个字,坑坑坑. 自己业余爱好者,签名一直捣鼓net+mssql,前阵买了阿里云esc,自己尝试做个博客,大体架子都打好了,本地安装了mysql,测试了也没问题. 部署到阿里云centos7,结果 ...

  5. 阿里云CentOS7部署ASP.NET Core

    本文主要介绍了阿里云CentOS7下如何成功的发布ASP.Core应用并使用nginx进行代理, 并对所踩的坑加以记录; 环境.工具.准备工作 服务器:阿里云64位CentOS 7.4.1708版本; ...

  6. 【Docker】 使用Docker 在阿里云 Centos7 部署 MySQL 和 Redis (二)

    系列目录: [Docker] CentOS7 安装 Docker 及其使用方法 ( 一 ) [Docker] 使用Docker 在阿里云 Centos7 部署 MySQL 和 Redis (二) [D ...

  7. 阿里云CentOS7部署MySql8.0

    本文主要介绍了阿里云CentOS7如何安装MySql8.0,并对所踩的坑加以记录; 环境.工具.准备工作 服务器:阿里云CentOS 7.4.1708版本; 客户端:Windows 10; SFTP客 ...

  8. 阿里云CentOS7.3服务器通过Docker安装Nginx

    前言 小编环境: 阿里云CentOS7.3服务器 docker 下面分享一次小编在自己的阿里云CentOS7.3服务器上使用Docker来安装Nginx的一次全过程 温馨小提示: 如果只是希望单纯使用 ...

  9. 阿里云CentOS7.x安装nodejs及pm2

    对之前文章的修订 您将了解 CentOS下如何安装nodejs CentOS下如何安装NVM CentOS下如何安装git CentOS下如何安装pm2 适用对象 本文档介绍如何在阿里云CentOS系 ...

随机推荐

  1. MySQL性能调优语句

    mysql>show global status; 可以列出MySQL服务器运行各种状态值 一.慢查询 mysql> show variables like '%slow%'; mysql ...

  2. Windows驱动开发-设备读写方式

    设备读写方式共三种: 方式 Flag 特点 缓冲区方式读写 DO_BUFFERED_IO I/O管理器先创建一个与用户模式数据缓冲区大小相等的系统缓冲区.而你的驱动程序将使用这个系统缓冲区工作.I/O ...

  3. 5G/NR 帧结构

    原文链接:http://www.sharetechnote.com/html/5G/5G_FrameStructure.html 在学术界和3GPP中对帧结构进行了长时间的讨论,现在我们就NR(5G) ...

  4. HiBench成长笔记——(3) HiBench测试Spark

    很多内容之前的博客已经提过,这里不再赘述,详细内容参照本系列前面的博客:https://www.cnblogs.com/ratels/p/10970905.html 创建并修改配置文件conf/spa ...

  5. windows系统下使用mycat实现mysql数据库的主从复制,从而实现负载均衡

    在之前有记录过在一台系统中安装多台数据库,同时实现主从复制,但是那个主从复制只是一个基于dosc命令的,再实际的开发中我们不会去直接连接数据库,一般情况下我们也是通过间接的采用一些中间件去连接,本来是 ...

  6. Day6 - E - Brownie Points II POJ - 2464

    Stan and Ollie play the game of Odd Brownie Points. Some brownie points are located in the plane, at ...

  7. 5.Linux解决Device eth0 does not seem to be present

    Linux操作系统排除故障 导入vixualbox的虚拟机voa文件到另外一台电脑,需要检查如下信息 修改虚拟机软件网络设置 重启Linux操作系统 shutdown -h now reboot se ...

  8. SpringBoot-属性直接注入

    SpringBoot-属性直接注入 SpringBoot-属性直接注入 上面我们说到,如果公共的属性,我们可以使用Java类加载Properties文件,来达到复用的目的,在SpringBoot中,我 ...

  9. IDEA maven 项目报警告解决(自己的maven配置记录)

    IDEA maven 项目报警告解决 应该是JDK版本太低 虽然你装的高但是默认使用maven 默认的 这里要配一下JDK版本 理解不深入只为 自己记录使用 1 配置 仓库为阿里云   配置本地储存j ...

  10. bzoj 3522: [Poi2014]Hotel

    呵呵,一开始天真的我以为求个 西格玛 C(??,3)就好了.. (题解:比枚举2个数的再多一个,,一样搞) #include <bits/stdc++.h> #define LL long ...