安装虚拟机以及ubuntu系统https://blog.csdn.net/weixin_49722641/article/details/108630299
一、windows与linux的设计理念有根本性的区别:
windows:用户不知道自己想要什么,也不明白自己在做什么,更不打算为自己的行为负责。
因为windows将所有操作都隐藏起来,只给用户提供封装好的功能,用户只能在操作系统限制的范围内操作,如果是普通用户,会觉得很windows很舒服,因为不需要思考。只需要按照指示去操作。但对于开发人员而言,这种设计理念是无法接受的,一旦要做出一些超越封装好的功能之外的事情,就会出现各种难以意料的情况,而且很多情况下,这些问题是无解的。或者只能用极其蹩脚扭曲的方式去勉强处理。
linux:用户知道自己想要什么,也明白自己在做什么,并且会为自己的行为负责。
linux将所有操作权都交给了用户,相信用户是理性的聪明的,忠实地执行用户的指令,向用户暴露所有的细节。用户在拥有自主权的同时也拥有了破坏力,因此普通用户根本无法驾驭,可能一个指令就把操作系统弄崩溃了。对于开发者而言,linux的开放与自由给了无限的可能性,能看到程序是如何运行的,运行报错也会有友好的提示。根据报错指引往往能将问题解决。
二、ubuntu安装python3及虚拟环境
点击右键选择终端
1.安装pip3
sudo apt install python3-pip
2.安装虚拟环境
sudo apt install virtualenv
sudo apt install virtualenvwrapper
3.修改配置文件设置环境变量
sudo apt install vim
cd ~
vim .bashrc
在.bashrc文件后面加入下面两行
export WORKON_HOME=$HOME/.virtualenvs
source /usr/share/virtualenvwrapper/virtualenvwrapper.sh
4.启用配置文件
cd ~
source .bashrc
5.设置root密码以及转到root用户上
sudo passwd root :zxy******
su root
cd /home
mkdir virtualevirment_make # 创建项目目录
sudo find / -name 'virtualevirment_make' # /home/virtualevirment_make
6.创建虚拟环境
安装venv模块,进入项目目录后,执行
apt-get install python3-venv
python3 -m venv venv
7.激活虚拟环境
在开始工作前,先要激活相应的虚拟环境:
. venv/bin/activate
(venv) root@zxy-virtual-machine:/home/virtualevirment_make$ # 激活后,终端提示符会显示虚拟环境的名称
8.安装相应模块,如:
pip install Flask
pip list 查看安装的包
mkdir untitled # 创建项目目录
9.查看虚拟机ip
ifconfig -a # 192.168.112.128
在本机cmd窗口下可以ping通即可 ping 192.168.112.128
三、pycharm连接虚拟机(新建项目)
1.新建项目flask,添加python解释器,选择ssh解释器,输入host以及username zxy,输入密码即可 zxy****
2.输入解释器的路径which python3
/home/virtualevirment_make/venv/bin/python3 ,确认后选择项目在虚拟机上存储的地址(虚拟机新建的项目地址pwd
/home/virtualevirment_make/untitled)
若中间连接出现问题,可查看密码以及ssh服务是否开启
sudo ps -e | grep ssh # 使用命令查看,若返回结果为“xxxx? 00:00:00 sshd”,代表服务开启
sudo /etc/init.d/ssh start # 若无反应,使用命令开启服务
sudo apt-get update # 若找不到命令
sudo apt-get install openssh-server
sudo ps -e | grep ssh # 等待安装结束再次查看服务有没有启动
sudo service ssh status # 查看服务状态
sudo service ssh stop # 关闭服务
sudo service ssh restart # 重启服务
3.在tools中点击development–configeration 测试connect 填写映射文件夹,在tools中选择upload to 上传,出现问题:
Failed to transfer file 'C:\Users\Administrator\Desktop\untitled\pypu.py': could not write to "sftp://192.168.112.128/home/virtualevirment_make/pypu.py". (Permission denied)
解决:
cd /home/virtualevirment_make
sudo chmod 777 untitled -R
再次尝试即可。
测试文件目录
app.py
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World!'
if __name__ == '__main__':
app.run(host='0.0.0.0',debug=True) # 必须为0.0.0.0
等待上传后在虚拟机中ls查看文件
4.在虚拟机/home/virtualevirment_make/untitled目录下运行 python app.py runserver
此时可以在虚拟机的火狐浏览器输入http://127.0.0.1:5000/ 或 http://0.0.0.0:5000/查看。
本机使用虚拟机ip访问 http://192.168.112.128:5000/
四、现有项目上传
1.在pycharm的teminal中 pip freeze >requirements.txt 将项目用到的包及文件总结到txt文件中,设置中连接虚拟机服务器,配置上传路径时在虚拟机中 mkdir flask_blog
并赋予权限sudo chmod 777 flask_blog -R
选择其作为上传路径。
2.等待收集且上传完成,进入目录下/home/virtualevirment_make/flask_blog
输入tree即可显示目录结构。
3.进入虚拟环境 安装依赖包 pip install -r requirements.txt
再使用pip list
查看已安装包,也可以通过setting中的加号进行安装包,此时所需的包已经安装完毕。
五、ubuntu安装mysql
1.先查看mysql是否存在
sudo dpkg -l | grep mysql
2.安装MySQL
sudo apt install mysql-server
3.如出现报错E: Unable to locate package mysql-server,使用命令 sudo apt-get update
更新软件源,安装完成之后可以使用如下命令来检查是否安装成功
sudo netstat -tap | grep mysql
sudo systemctl status mysql # 查看mysql状态
4.系统将要求配置VALIDATE PASSWORD PLUGIN用来测试MySQL用户密码强度并提高安全性的密码,设置MySQL root用户的密码,以后用y回答所有问题。
sudo mysql_secure_installation
5.以root用户身份登录到MySQL服务器
sudo mysql
6.将身份验证方法从更改auth_socket为mysql_native_password
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'very_strong_password';
FLUSH PRIVILEGES;
7.登录mysql数据库可以通过如下命令
sudo mysql -u root -p
8.-u 表示选择登陆的用户名, -p 表示登陆的用户密码,Enter password:处输入密码,就能够进入mysql数据库。
进入后创建数据库create database fbwzz; 以及show databases;查看是否创建成功。
9.对于flask里的migration文件夹,建议直接删除,但是若想要本地数据库中的数据可安装navicat进行表和数据的迁移。
windows下安装navicat
https://blog.csdn.net/asty9000/article/details/101443379
点击 navicat121_premium_cs_x64.exe安装到:D:\wendang\navicat_ins中
点击另一个exe文件选择安装路径下的navicate激活。
10.navicate远程连接:
sudo mysql -uroot -p
查看 mysql 初始的密码策略
SHOW VARIABLES LIKE ‘validate_password%’;
set global validate_password.policy=LOW;
create user ‘zxy’@’%’ identified by ‘zxy****’;
GRANT ALL PRIVILEGES ON . TO ‘zxy’@’%’;
ALTER USER ‘zxy’@’%’ IDENTIFIED WITH mysql_native_password BY ‘zxy****’;
flush privileges;
使用 exit 命令退出后,修改 mysql 的配置文件,进入mysql安装目录的etc/mysql/mysql.conf.d处,打开终端,并切换root权限,修改mysqld.cnf文件为可修改。 chmod 6666 mysqld.cnf
找到 “bind-address = 127.0.0.1” , 修改为 bind-address = 0.0.0.0 并保存
重新修改权限为只读。 chmod 644 mysqld.cnf
重启mysql服务 service mysql restart
navicat 远程连接:连接–mysql–常规–主机为192.168.112.128,用户名:zxy 密码:zxy****
11.navicat迁移数据库
工具–数据传输–源选本地库和表 目的选虚拟机库和表–数据库对象全选即可。
12.最后检查setting文件中数据库用户名是否为授权的以后,进入虚拟环境,在项目目录下运行python app.py runserver -h 0.0.0.0
本地通过http://192.168.112.128:5000即可访问