Django生产环境部署——Mysql8.0+Nginx+uwsgi安装(三)

7 篇文章 0 订阅
2 篇文章 0 订阅
本教程详细介绍了如何在Ubuntu20.04服务器上安装MySQL,包括设置root密码、删除默认用户和数据库、开启远程访问等。接着,文章讲解了Nginx的安装与常用命令。最后,介绍了uwsgi的安装和基本使用,为Django项目部署做好准备。
摘要由CSDN通过智能技术生成

上一章已经更新和安装了基于Ubuntu20.04 server系统默认的Python。并且也创建了python的虚拟环境。附上上一章的连接。
Django生产环境部署——Python安装与虚拟环境的创建(二)

本章主要是基于Ubuntu20安装mysql-server、Nginx和虚拟环境下安装uwsgi。

首先,打开Tabby连接上虚拟机的主机,由于虚拟机我并没有设置为静态ip,所以先在虚拟机主机上登入进去,输入ip addr 命令查看ip地址,之后利用tabby进行远程登入(同一局域网下)。附上ubuntu20.04配置静态ip的方法,以下两篇文章讲的比较详细
Ubuntu20.04配置静态ip
Ubuntu20.04配置静态ip

如下所示,说明连接成功
在这里插入图片描述

一、安装Mysql-Server

使用 su root 进入超管权限

1. 安装mysql-server

apt install mysql-server

2. 查看服务状态

systemctl status mysql 

出现activate 说明启动成功

在这里插入图片描述

3. 设置root密码

#命令输入,进入数据库
mysql  
#设置root密码,by后面为root管理的数据库密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by 'kql123456';

在这里插入图片描述

4. 删除缺省的匿名用户和test库,禁止远程root登入

exit 退出数据库,进入命令行。
输入

 mysql_secure_installation

系统显示:意思是是否修改root密码,输入no即可
在这里插入图片描述
再次显示如下,意思是是否删除匿名用户anonymous,MySQL安装后有个缺省的匿名用户 anonymous, 方便测试, 通常会带来安全隐患,输入yes并回车,删除anonymous用户。
在这里插入图片描述
再次显示如下,意思是是否允许远程root登入,一般在生产环境中默认禁止远程使用root登入,输入yes即可。
在这里插入图片描述

再次显示如下,意思是:是否删除test库,mysql安装好之后,会默认创建一个test库,方便测试用,如果不需要的话直接输入yes删除即可。
在这里插入图片描述
再次显示如下,意思是:前面的配置是否立即生效,输入yes即可
出现All Done说明配置成功!
在这里插入图片描述

5. 终端进入mysql

终端输入以下命令,输入root的密码,进入数据库。
能成功进入说明mysql安装配置成功!输入exit退出即可。

mysql -u root -p

在这里插入图片描述

**

6. 允许客户端非本机访问

**
修改mysql所绑定的网络接口
执行

vi /etc/mysql/mysql.conf.d/mysqld.cnf

bind-address = 127.0.0.1

改为:

bind-address = 0.0.0.0

重启mysql

systemctl restart mysql.service

在这里插入图片描述
在这里插入图片描述
**

7. 打开防火墙对应的端口

**
ubuntu20默认的防火墙是关闭状态,不需要次操作,但是,如果mysql所在的ubuntu开启了防火墙就需要打开对应的端口。

ufw allow 3306

**

8. 添加数据库用户

**

上面mysql只有一个root用户。即超级管理员,用户所有数据库系统的所有权限,但是使用客户端访问数据库时,尽量不要使用root直接访问数据库,建议创建一个普通用户来访问,并赋予这个普通用户的相应的权限。
1. 创建数据库用户
终端输入 mysql -u root -p 进入数据库。
创建user用户,密码为w123456*

CREATE USER 'user'@'localhost' IDENTIFIED BY 'w123456*';
CREATE USER 'user'@'%' IDENTIFIED BY 'w123456*';

@符号后面的 ‘localhost’ 表示该用户可以从localhost或者127.0.0.1地址连接访问数据库,也就是从本机访问数据库

@符号后面的 ‘%’ 表示该用户可以从其它IP地址连接访问数据库。

在这里插入图片描述

  1. 授予权限
    之后输入如下命令:
GRANT ALL ON *.* TO 'user'@'localhost';
GRANT ALL ON *.* TO 'user'@'%';

赋予user用户所有权限,就是可以 该系统上 访问所有数据库里面所有的表。

在这里插入图片描述

只想赋予 user用户,只能读取数据库mydb的表table1 的权限,可以这样写:

GRANT SELECT  ON mydb.table1 TO 'user'@'localhost';
GRANT SELECT  ON mydb.table1 TO 'user'@'%';

关于数据库的权限可以查看官方文档:mysql权限授予

修改用户的 密码,执行下面的 命令

SET PASSWORD FOR 'user'@'localhost' = '新密码';   
SET PASSWORD FOR 'user'@'%' = '新密码'; 

输入exit退出数据库。

到此基于ubnutu20的mysql-server已安装配置完毕!

**

二、Nginx安装

**

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少。

1. 下载与安装

命令行直接输入:

sudo apt-get install nginx

如果出现以下错误,说明镜像源出现错误,直接更换一下镜像源

在这里插入图片描述

1.1更换一下镜像源

先拷贝一份原始文件

cd /etc/apt/
cp sources.list sources.list_before

在这里插入图片描述

vi sources.list_before
#清空内容,添加阿里镜像源

阿里镜像网站点击下列链接,找到对应的20.04版本的直接粘贴进去就行
ubuntu更换阿里镜像源

保存退出!

在这里插入图片描述
再执行

apt-get update

等待更新完成,之后再次安装Nginx!
在这里插入图片描述
Nginx安装成功!
在这里插入图片描述
**

2. Nginx常用命令

**

#查看版本号
nginx -v
#启动nginx
service nginx start
#重启
service nginx restart
#重载
nginx -s reload
#停止nginx
nginx -s stop  #直接停止
nginx -s quit #完成已经接收的连接请求后再退出
#查看nginx进程
ps -ef | grep nginx

nginx文件安装完成之后的文件位置:

/usr/sbin/nginx:主程序
/etc/nginx:存放配置文件
/usr/share/nginx:存放静态文件
/var/log/nginx:存放日志

**

三、uwsgi安装

**

1. 下载安装

**
**

  1. 首先进入自己创建的Python虚拟环境中去,我的是django。
workon django
#执行下面命令
apt-get install libpcre3 libpcre3-dev
#安装uwsgi
pip install uwsgi --no-cache-dir

在这里插入图片描述

在这里插入图片描述
输入pip list 查看是否有uwsgi
在这里插入图片描述
说明安装成功!

**

2.uwsgi常用命令

**

#启动uwsgi,在django虚拟环境上启动

uwsgi --ini xxx.ini # xxx.ini 为自己创建的uwsgi配置文件

#停止uwsgi
pkill -f uwsgi -9 
uwsgi --stop xxx.pid

最后启动项目时,先启动Nginx,在启动uwsgi服务。

好了,至此uwsgi已经安装成功!

下一章将对nginx与uwsgi的使用做出详细的说明!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值