基于Ubuntu18.04一站式部署

Python3.6.8的安装

1. 安装依赖

~$ sudo apt install openssl* zlib*

2. 安装python3.6.8(个人建议从官网下载后上传到服务器)

点击下载python3.6.8官网源码 或根据下面的命令安装

~$ sudo wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tgz

3. 解压.tgz文件 并 进入Python-3.6.8文件夹

~$ sudo tar -xzvf Python-3.6.8.tgz

~$ cd Python-3.6.8

4. 将python安装到目录下

~$ sudo ./configure --prefix=/usr/local/python --with-ssl --enable-optimizations

5. 编译并且安装

~$ sudo make && sudo make install

6. 安装完成之后 可以删除源码压缩包与解压出来的文件夹了

~$ rm -rf Python-3.6.8.tgz Python-3.6.8

7. 创建python3软链接

~$ sudo ln -s /usr/local/python/bin/python3.6 /usr/bin/python
# 注意 报错信息:
ln: failed to create symbolic link '/usr/bin/python': File exists

7.1 解决方法与查看指向

1. 查看Linux软连接存放位置
~$ cd /usr/bin
2. 查看现在的python软连接指向的版本
~$ ls -al python
3. 解决方法:
~$ sudo ln -sf /usr/python/bin/python3 /usr/bin/python

8. 创建pip3的软链接

sudo ln -s /usr/local/python/bin/pip3.6 /usr/bin/pip

验证安装是否成功 输入python3 回车即可

~$ python3
Python 3.6.9 (default, Jan 26 2021, 15:33:00)
[GCC 8.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
~$

虚拟环境的安装

1. 根据上述python的安装 已经实现安装pip3 安装依赖

# 查看pip3 是否成功执行
~$ pip3 list # 安装依赖
~$ pip3 install virtualenv
~$ pip3 install virtualenvwrapper

2. 配置文件的修改

# 查看配置文件是否存在 .bashrc
~$ ls -lah .bashrc # 在文件最后面添加 如果没有权限 请使用sudo vim ~/.bashrc
~$ vim ~/.bashrc export WORKON_HOME=~/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export VIRTUALENVWRAPPER_VIRTUALENV=~/.local/bin/virtualenv
source ~/.local/bin/virtualenvwrapper.sh # 退出编辑 并保存
先按ESC键,再输入:wq # 保存成功后 重启配置文件 (注意 需要重启配置文件 才会生效)
~$ source ~/.bashrc

3. 虚拟环境的操作(增 删 查 退出)

#1. 创建虚拟环境
~$ mkvirtualenv xxx #2. 删除虚拟环境
~$ rmvirtualenv xxx #3. 查看虚拟环境
~$ workon # 之所以能用workon 是因为刚刚的.bashrc文件里面配置了 #4. 退出虚拟环境(在使用的时候)
~$ deactivate

mysql的安装与配置

1. MySQL的安装命令

~$ sudo apt-get install mysql-server

2. 安装完成后 测试连接

# 因为安装的过程中没让设置密码,进不去mysql。
~$ mysql -uroot -p
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

3. 修改配置文件(mysqld.cnf) 每次修改配置文件都重启

# /etc/mysql/mysql.conf.d/mysqld.cnf MySQL的配置文件
~$ sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf # 在文件最后面 添加一句 不启动grant-tables授权表 作用可以不用密码登录进去mysql。
skip-grant-tables # 退出编辑 并保存
先按ESC键,再输入:wq

4. 重启MySQL服务 需要服务登录密码验证

~$ service mysql restart
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Authentication is required to restart 'mysql.service'.
Authenticating as: ubuntu,,, (ubuntu)
Password:

5. 设置密码 并重启服务

# 此时是可以不用密码登录mysql的
~$ mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.7.35-0ubuntu0.18.04.1 (Ubuntu) Copyright (c) 2000, 2021, Oracle and/or its affiliates. Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> use mysql; # 使用某库
Reading table ...
Database changed # 成功的提示 mysql> update user set authentication_string=password("pwd") where user="root"; # 修改root用户的密码
Query OK ... # 成功的提示 mysql> flush privileges; # 刷新权限
Query OK ... # 成功的提示 mysql> exit # 退出mysql # 将刚刚的配置文件里面的skip-grant-tables注释掉
~$ sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
# skip-grant-tables # 重启MySQL服务 以确保修改的配置文件生效
~$ service mysql restart

6. 如果此时登录mysql还是失败(下面有些命令可在上述中查到)

# 此时如果登录mysql还是失败的话 请执行以下步骤
~$ mysql -uroot -p
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) #1. 将配置文件的skip-grant-tables注释打开 sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
#2. 重启MySQL服务 service mysql restart
#3. 此时是不需要密码登录mysql的 mysql -uroot -p
#4. use mysql; #5. select user, plugin from user; # 查看user表的user,plugin字段
mysql> select user,plugin from user;
+------------------+-----------------------+
| user | plugin |
+------------------+-----------------------+
| root | auth_socket |
| mysql.session | mysql_native_password |
| mysql.sys | mysql_native_password |
| debian-sys-maint | mysql_native_password |
+------------------+-----------------------+ #6. root对应的plugin为auth_socket 这也是登录不了的原因 修改plugin值
mysql> update user set authentication_string=password("pwd"),plugin='mysql_native_password' where user='root'; #7. 再次输入查看user表
mysql> select user,plugin from user;
+------------------+-----------------------+
| user | plugin |
+------------------+-----------------------+
| root | mysql_native_password |
| mysql.session | mysql_native_password |
| mysql.sys | mysql_native_password |
| debian-sys-maint | mysql_native_password |
+------------------+-----------------------+ #8. 修改成功 退出mysql exit
#9. 修改配置文件 将skip-grant-tables注释 sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
#10. 重启MySQL服务 service mysql restart

7. 连接mysql成功 并设置外部可连接(注意安全组开放3306端口)

#1. 此时登录mysql 就要使用设置的密码登录了
~$ mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
...
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '×××' WITH GRANT OPTION; # 命令中的 % 代表所有ip地址 xxx:你的密码 mysql> flush privileges; # 刷新权限 mysql> exit # 退出mysql #2. 找到配置文件 将bing注释掉
~$ sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
# bind=127.0.0.1 注释掉

redis的安装与配置

1. 安装redis

~$ sudo apt-get install redis-server

2. 查看redis的进程

~$ ps -ef|grep redis

3. 修改配置文件(需要root权限)

~$ sudo vim /etc/redis/redis.conf

4. 在bind下添加密码设置(并注释bind)

# bind 127.0.0.1 ::1 # 注释bind 目的为了外部可连接
requirepass pwd # 设置密码 外部连接需要通过密码连接

5. redis的启动/重启

~$ service redis start/restart

6. 查看端口(6379)

~$ netstat -nlt|grep 6379
tcp 0 0 0.0.0.0:6379 0.0.0.0:* LISTEN
tcp6 0 0 :::6379 :::* LISTEN

nginx的安装与配置

1. 安装nginx

~$ sudo apt-get install nginx

2. 检查安装是否成功

~$ nginx -v
nginx version: nginx/1.14.0 (Ubuntu)

3. nginx的启动/重启

~$ service nginx start/restart

4. 查看进程

~$ ps -ef|grep nginx

5. 查看nginx的相关文件储存位置

~$ whereis nginx

6. 相关文件的介绍

/usr/sbin/nginx:主程序
/usr/lib/nginx: 模块依赖库文件
/etc/nginx:存放配置文件
/usr/share/nginx:存放静态文件
/var/log/nginx:存放日志

基于Ubuntu18.04一站式部署(python-mysql-redis-nginx)的更多相关文章

  1. Kubernetes 基于 ubuntu18.04 手工部署 (k8s)

    由于工作的需要, 手工部署一个 Kubernetes 环境(k8s).(以前都是云上搞定,拿来用) 习惯把这种工作记录下来,自己备查也和别人分享 网上相关文章很多, 我也参考了很多,这里推荐一个 链接 ...

  2. kubeadm部署1.17.3[基于Ubuntu18.04]

    基于 Ubuntu18.04 使用 kubeadm 部署Kubernetes 1.17.3 高可用集群 环境 所有节点初始化 # cat <<EOF>> /etc/hosts ...

  3. python mysql redis mongodb selneium requests二次封装为什么大都是使用类的原因,一点见解

    1.python mysql  redis mongodb selneium requests举得这5个库里面的主要被用户使用的东西全都是面向对象的,包括requests.get函数是里面每次都是实例 ...

  4. Ubuntu18.04命令行安装mysql未提示输入密码,修改mysql默认密码

    Ubuntu18.04命令行安装mysql未提示输入密码,修改mysql默认密码 mysql默认密码为空 但是使用mysql -uroot -p 命令连接mysql时,报错ERROR 1045 (28 ...

  5. Ubuntu 18.04 安装部署Net Core、Nginx全过程

    Ubuntu 18.04 安装部署Net Core.Nginx全过程 环境配置 Ubuntu 18.04 ,Nginx,.Net Core 2.1, Let's Encrypt 更新系统 sudo a ...

  6. 基于k8s集群部署prometheus监控ingress nginx

    目录 基于k8s集群部署prometheus监控ingress nginx 1.背景和环境概述 2.修改prometheus配置 3.检查是否生效 4.配置grafana图形 基于k8s集群部署pro ...

  7. ubuntu14.04下搭建python+mysql环境

    简略记录ubuntu14.04下搭建python操作的mysql服务器的过程和其中遇到的问题及解决方法. 第一部分: 安装mysql 安装步骤:1. sudo apt-get install mysq ...

  8. 性能测试二十六:环境部署之Mysql+Redis+Tomcat环境整合

    系统中使用了缓存+数据库,通用读取数据规则1.先从缓存读数据,如果有,直接返回数据:2.如果没有,去数据库中读,然后再插入到缓存中,再返回数据 Mysql+Redis+Tomcat环境整合 1.修改P ...

  9. 源码包安装(Python mysql redis)

    一  源码包安装 (1)python3.6源码包安装 ./configure ------> 定制功能 make make install mysql 源码包 cmake make make i ...

随机推荐

  1. RecyclerView跳转到指定位置的几种种方式

    Mark一下: http://blog.csdn.net/huangxiaoguo1/article/details/53706971 https://www.jianshu.com/p/3acc39 ...

  2. DNS服务器(一)正向解析

    一.DNS简介 在日常生活中人们习惯便用域名访问服务器,但机器间互相只认IP地址,域名与1P地址之间是多对一的关系,一个ip地址不一定只对应一个域名,且一个域名只可以对应一个ip地址,它们之间的转换工 ...

  3. 自学vue第二天,从入门到放弃(生命周期的理解)

    生命周期的理解 beforeCreate 创建前 数据还没有监听,没有绑定到vue对象实例,同时也没有挂载对象 没有数据也没有方法 created 在创建后 数据和方法已经 data数据已经绑定好了 ...

  4. Distribute SSH Pubkey to Multiple Hosts with Fabric

    Generate ssh keys on source host with ssh-keygen; Disable known_hosts prompt(optional): add "St ...

  5. U盘自动弹出脚本

    需要微软的Sysinternals Suite中的sync工具,解压到d:\apps下. ahk脚本: #u:: ; eject usb drive InputBox, myInp, Remove U ...

  6. Redis配置及攻击利用

    Redis配置及攻击利用 Redis及其安全配置 Redis介绍 redis默认会绑定在 0.0.0.0:6379,如果没有进行采用相关的策略,比如添加防火墙规则避免其他非信任来源 ip 访问等,这样 ...

  7. 【XXE学习】XML外部实体注入

    一.XML外部实体注入介绍 1.1 XXE简介 XML外部实体注入(XML External Entity Injection)也就是人们(mian shi guan )常说的XXE啦,见名知意,就是 ...

  8. STM32—驱动HC-SR04超声波测距模块

    文章目录 超声波测距原理 HC-SR04工作原理 STM32实现驱动 1.引脚的配置 2.时序控制 3.时间差测量 4.如何将距离测出来 超声波测距原理 利用HC-SR04超声波测距模块可以实现比较精 ...

  9. Django ORM多表查询

    基于双下划线查询 根据存的时候,字段的数据格式衍生的查询方法 1.年龄大于35岁 res = models.AuthorDetails.objects.filter(age__lt=80) print ...

  10. 对Web(Springboot + Vue)实现文件下载功能的改进

    此为 软件开发与创新 课程的作业 对已有项目(非本人)阅读分析 找出软件尚存缺陷 改进其软件做二次开发 整理成一份博客 原项目简介 本篇博客所分析的项目来自于 ジ绯色月下ぎ--vue+axios+sp ...