基于Ubuntu18.04一站式部署(python-mysql-redis-nginx)
基于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)的更多相关文章
- Kubernetes 基于 ubuntu18.04 手工部署 (k8s)
由于工作的需要, 手工部署一个 Kubernetes 环境(k8s).(以前都是云上搞定,拿来用) 习惯把这种工作记录下来,自己备查也和别人分享 网上相关文章很多, 我也参考了很多,这里推荐一个 链接 ...
- kubeadm部署1.17.3[基于Ubuntu18.04]
基于 Ubuntu18.04 使用 kubeadm 部署Kubernetes 1.17.3 高可用集群 环境 所有节点初始化 # cat <<EOF>> /etc/hosts ...
- python mysql redis mongodb selneium requests二次封装为什么大都是使用类的原因,一点见解
1.python mysql redis mongodb selneium requests举得这5个库里面的主要被用户使用的东西全都是面向对象的,包括requests.get函数是里面每次都是实例 ...
- Ubuntu18.04命令行安装mysql未提示输入密码,修改mysql默认密码
Ubuntu18.04命令行安装mysql未提示输入密码,修改mysql默认密码 mysql默认密码为空 但是使用mysql -uroot -p 命令连接mysql时,报错ERROR 1045 (28 ...
- 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 ...
- 基于k8s集群部署prometheus监控ingress nginx
目录 基于k8s集群部署prometheus监控ingress nginx 1.背景和环境概述 2.修改prometheus配置 3.检查是否生效 4.配置grafana图形 基于k8s集群部署pro ...
- ubuntu14.04下搭建python+mysql环境
简略记录ubuntu14.04下搭建python操作的mysql服务器的过程和其中遇到的问题及解决方法. 第一部分: 安装mysql 安装步骤:1. sudo apt-get install mysq ...
- 性能测试二十六:环境部署之Mysql+Redis+Tomcat环境整合
系统中使用了缓存+数据库,通用读取数据规则1.先从缓存读数据,如果有,直接返回数据:2.如果没有,去数据库中读,然后再插入到缓存中,再返回数据 Mysql+Redis+Tomcat环境整合 1.修改P ...
- 源码包安装(Python mysql redis)
一 源码包安装 (1)python3.6源码包安装 ./configure ------> 定制功能 make make install mysql 源码包 cmake make make i ...
随机推荐
- 百度地图API基本使用(一)
本文系作者 chaoCode原创,转载请私信并在文章开头附带作者和原文地址链接. 违者,作者保留追究权利. 前言 由于最近项目有需要,所以最近开始研究百度地图API的使用,简单的介绍一下百度地图Jav ...
- Go测试技术分享(一):场景化接口Case编写
一.前言 本人负责的支付清结算方向的测试工作,在测试项目中,会出现流程化的接口调用,请求完一个接口后,继续请求另一个接口(这里的接口可以指Http,也指rpc接口),这里以一个真实场景为例:用户在平台 ...
- Linux--文件描述符、文件指针、索引节点
Linux -- 文件描述符 文件描述符 Fd 当进程打开文件或创建新文件时,内核会返回一个文件描述符(非负整数),用来指向被打开的文件,所有执行I/O操作的系统调用(read.write)都会通过文 ...
- appium的安装和环境配置教程
模拟器安装 夜神模拟器下载地址:https://www.yeshen.com/ 无脑安装 jdk环境 安装jdk 安装教程:https://www.cnblogs.com/yhoil/p/148086 ...
- Vulhub-DC-4靶场
Vulhub-DC-4靶场 前言 这套靶场的亮点在于对hydra的运用比较多,在遇到大容量字典的时候,BurpSuite可能会因为设置的运行内存的限制,导致字典需要花很长时间导入进去,虽然通过修改配置 ...
- RHCSA_DAY03
cd 切换工作目录命令 cd(英文全拼:change directory)切换目录 命令格式:cd [-选项] [目录名] 提示:目录名称可以是绝对路径或相对路径,如果不指定目录名称,则切换到当前用户 ...
- 20分钟掌握Android Gradle
目前国内对Android领域的探索已经越来越深,不少技术领域如插件化.热修复.构建系统等都对Gradle有迫切的需求,不懂Gradle将无法完成上述事情.所以Gradle必须要学习. Gradle 里 ...
- .Net Core如何优雅的实现中间件
在.Net Core的源码中,很多地方都有中间件的地方,Kestrel Server和Asp.net Core 等都用了中间件的设计,比如在Kestrel Server中,Http协议的1.0, 1. ...
- 在游戏中播放cg视频遇到的问题
遇到问题 我们线上手游要给港澳台用户增加cg视频,在我之前文章中已经讲到了我们是怎么在unity中播放cg的--><使用AVPro Video在Unity中播放开场视频(CG)笔记> ...
- SaToken学习笔记-03
SaToken学习笔记-03 如果排版有问题,请点击:传送门 核心思想 所谓权限验证,验证的核心就是一个账号是否拥有一个权限码 有,就让你通过.没有?那么禁止访问! 再往底了说,就是每个账号都会拥有一 ...