基于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. k8s强制删除资源

    一般强制删除 kubernetes 的资源: kubectl delete <resource> <resourename> --grace-period=0 --force ...

  2. goproxy.io

    goproxy.io 是全球最早的 Go modules 镜像代理服务之一, 采用 CDN 加速服务为开发者提供依赖下载, 该服务由一批热爱开源, 热爱 Go 语言的年轻人开发维护.从 Go 1.11 ...

  3. finalize() 方法——Java中垃圾回收提醒方法

    finalize() Java 允许定义这样的方法,它在对象被垃圾收集器析构(回收)之前调用,这个方法叫做 finalize( ),它用来清除回收对象. 例如,你可以使用 finalize() 来确保 ...

  4. Linux平台上转换文件编码

    Linux系统的iconv指令是一个很好的文件编码转换工具,支持的编码范围广,使用方便,例如将一个utf-8编码的文件(名为tic)转换为gbk编码: iconv -f utf-8 -t gbk ti ...

  5. pikachu Unsafe Fileupload

    不安全的文件上传漏洞概述文件上传功能在web应用系统很常见,比如很多网站注册的时候需要上传头像.上传附件等等.当用户点击上传按钮后,后台会对上传的文件进行判断 比如是否是指定的类型.后缀名.大小等等, ...

  6. JVM学习笔记之class文件结构【七】

    一.概念 1.1 无符号数: 以 u1.u2.u3.u4.u8 代表 1 个字节,2 个字节.4 个字节.8 个字节的无符号数.无符号数可以描述数字,索引引用.数量值和按照 UTF-8 编码构成的字符 ...

  7. SQL 练习23

    查询男生.女生人数 SELECT Ssex,COUNT(Ssex) 人数 from Student GROUP BY Ssex

  8. WPF 中TextBox 增加输入检测,错误提示

    先来总结下实现错误提示功能的几个要点 1:binding 的ValidationRules 2 :Validation.ErrorTemplate 首先我们在界面添加一个TextBox, Text绑定 ...

  9. Spring详解(十)加载配置文件

    在项目中有些参数经常需要修改,或者后期可能会有改动时,那我们最好把这些参数放到properties文件中,在源代码中读取properties里面的配置,这样后期只需要改动properties文件即可, ...

  10. 关于int和Integer缓存(二):修改缓存大小

    续上文: java中的基础数据类型长度是否取决于操作系统? 在一些语言中,数据类型的长度是和操作系统有关系的,比如c和c++: 但是在java中,java的基础类型长度都是固定的,都是4个字节.因为j ...