开发环境
系统介绍
windows, macOS,linux是当今主流三大操作系统,普通用户一般是选择windows或macOS, linux主要是占据服务器领域市场。
操作系统给人的感觉是:
windows经济适用,档次较低;
macOS高端大气上档次;
Linux是极客专用,一个黑乎乎的窗口,各种花花绿绿的指令在闪烁,对着键盘噼里啪啦一通乱敲,就能窃取各种机密。
在程序员群体中,操作系统有以下的鄙视链:macOS–>linux–>windows。 不过作为一个程序员,你很有必要学会linux,如果你的程序最终是跑在线上的Linux服务器上,那么你就更应该从现在开始投入linux的怀抱中,早日从windows脱坑。至于macOS,在命令行上与linux绝大部分相同,都是类unix的操作系统。简单地说,macOS是一个比windows界面更加美观,同时又兼备linux强大命令行的操作系统. 要说macOS的缺点,那就是贵…
windows与linux的设计理念有根本性的区别:
windows:用户不知道自己想要什么,也不明白自己在做什么,更不打算为自己的行为负责。
1 | 因为windows将所有操作都隐藏起来,只给用户提供封装好的功能,用户只能在操作系统限制的范围内操作,如果是普通用户,会觉得很windows很舒服,因为不需要思考。只需要按照指示去操作。但对于开发人员而言,这种设计理念是无法接受的,一旦要做出一些超越封装好的功能之外的事情,就会出现各种难以意料的情况,而且很多情况下,这些问题是无解的。或者只能用极其蹩脚扭曲的方式去勉强处理,然后瑟瑟发抖地期待着程序能正常运行。因为一旦程序崩溃,你也会为之崩溃。在windows下作开发,那种体验就好比在陪伴一个任性的女朋友,虽然长得清秀靓丽,但喜怒无常,她开心时,彼此相安无事,她不开心时,就直接哭闹,你问她:怎么了?她也不说原因,只是一直哭。你只能试着用各种方式去哄她开心,即使这次能哄好她,并不意味着下次同样的方法能奏效。这样的相处方式,很累。不是她不好,而是彼此不适合。即使终日相伴,却依然对其一无所知。 |
linux:用户知道自己想要什么,也明白自己在做什么,并且会为自己的行为负责。
1 | linux将所有操作权都交给了用户,她相信用户是理性的聪明的,忠实地执行用户的指令,向用户暴露所有的细节。用户在拥有自主权的同时也拥有了破坏力,因此普通用户根本无法驾驭,可能一个指令就把操作系统弄崩溃了。对于开发者而言,linux的开放与自由给了我们无限的可能性,我们能看到程序是如何运行的,运行报错也会有友好的提示。根据报错指引往往能将问题解决。与之相处,好比与一个成熟的女性相处,历经风雨,已经不再关注浮夸的外表,而是关注内在的涵养。刚接触时,可能会觉得她高冷,慢慢地,会发现她很善解人意,心情不好时她会跟你说是什么原因造成的,彼此商量如何解决这个问题,而不是无来由地崩溃。与之相处,会感到很舒服,彼此坦诚,无需套路,你在想什么,我都知道。我在念什么,你也明白。 |
总结:我选择linux的原因在于自由、舒服,简言之:爽!
1.2 环境安装
- centos7安装python3(https://www.cnblogs.com/felixwang2/p/9934460.html)
- centos7安装虚拟环境(https://www.centos.bz/2018/05/centos-7-4-安装python3及虚拟环境/)
- centos7安装mysql (https://blog.csdn.net/WYA1993/article/details/88890883)
- centos7安装redis (https://www.cnblogs.com/zuidongfeng/p/8032505.html)
- pycharm连接云服务器(https://blog.csdn.net/lin_danny/article/details/82185023)
一、安装Python3
由于CentOS7原本就安装了Python2,而且这个Python2不能被删除,因为有很多系统命令,比如yum都要用到。所以我们要额外安装Python3,而且系统一般允许多个版本的python同时存在。
我们先来查看python安装位置,一般是位于/usr/bin/python目录下。
1 | # which python |
下面介绍安装Python3的方法:
1. 安装依赖包(切记安装)
1 | # yum -y groupinstall "Development tools" |
2.下载Python3安装包
大家可根据自己需求下载不同版本的Python3,我下载的是Python3.6.2
1 | # wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz |
3. 新建python3存放目录
1 | # mkdir /usr/local/python3 |
4. 安装Python3
解压压缩包,进入解压目录,指定安装目录,安装Python3。
1 | # tar -xvJf Python-3.6.2.tar.xz |
安装Python3时,会自动安装pip。假如没有,需要自己手动安装。
1 | # yum -y install python-pip |
5. 创建软链接
1 | # ln -s /usr/local/python3/bin/python3 /usr/bin/python3 |
6. 安装完成,输入python3测试
二、创建虚拟环境
virtualenv是一个可以在同一计算机中隔离多个python版本的工具。有时,两个不同的项目可能需要不同版本的python,如 python2.7 / python3.6 ,但是如果都装到一起,经常会导致问题。virtualenv能够用于创建独立的Python虚拟环境,多个Python相互独立,互不影响。
virtualenvwrapper这个软件包可以让我们管理虚拟环境变得更加简单。不用再跑到某个目录下通过virtualenv来创建虚拟环境,并且激活的时候也要跑到具体的目录下去激活。
下面介绍安装python虚拟环境的方法:
使用pip安装包前,先更新pip。
1 | # pip3 install --upgrade pip |
1. 安装virtualenv、virtualenvwrapper
1 | # pip3 install virtualenv |
2. 进入.bashrc文件中,定义virtualenvwrapper路径
使用vim编辑.bashrc文件
1 | # vim ~/.bashrc |
在文末填入以下代码并保存
1 | export VIRTUALENVWRAPPER_PYTHON=/usr/local/python3/Python-3.6.2/python # 指定virtualenvwrapper执行的python版本 |
3. 运行.bashrc文件
1 | # source ~/.bashrc |
4. 创建虚拟环境
1 | # mkvirtualenv py3-env |
也可指定虚拟环境的python版本
1 | # mkvirtualenv --python=/usr/bin/python3 py3-env |
5. 进入虚拟环境中,然后进入到项目所在目录,安装好相应的包(如无需要,可跳过此步)
1 | # pip install -r requirements.txt |
虚拟环境搭建完成!
常见的virtualenvwrapper命令
- 创建虚拟环境
1 | # mkvirtualenv my_env |
- 切换到某个虚拟环境
1 | # workon my_env |
- 退出当前虚拟环境
1 | # deactivate |
- 删除某个虚拟环境
1 | # rmvirtualenv my_env |
- 列出所有虚拟环境
1 | # lsvirtualenv |
- 进入到虚拟环境所在的目录
1 | # cdvirtualenv |
三、Centos7 安装和配置MySQL5.7
第一步,下载MySQL安装
1 | [root@localhost ~]# cd /home/data/ |
如果提示wget命令不存在,先执行
1 | yum -y install wget |
下载完成后
多了一个mysql57-xxx的文件,这个就是mysql安装源
安装mysql安装源
1 | [root@localhost data]# yum -y localinstall mysql57-community-release-el7-11.noarch.rpm |
第二步,在线安装MySQL
1 | [root@localhost data]# yum -y install mysql-community-server |
下载的东西有点多,需要等待一会
第三步,启动MySQL服务
1 | [root@localhost data]# systemctl start mysqld |
第四步,设置开机启动
1 | [root@localhost data]# systemctl enable mysqld |
第五步,修改root登录密码
mysql安装完成之后,会在/var/log/mysqld.log文件中给root生成了一个临时的默认密码。
1 | [root@localhost data]# vim /var/log/mysqld.log |
复制此密码,使用此密码登录root
1 | [root@localhost data]# mysql -u root -p |
修改密码, mysql5.7默认密码策略要求密码必须是大小写字母数字特殊字母的组合,至少8位
1 | mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Test2016@'; |
第六步,设置允许远程登录
1 | mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Test2016@' WITH GRANT OPTION; |
第七步,退出
1 | mysql> exit |
第八步,防火墙开放3306端口
1 | [root@localhost data]# firewall-cmd --zone=public --add-port=3306/tcp --permanent |
第九步,配置mysql默认编码为utf-8
修改/etc/my.cnf配置文件,在[mysqld]下添加编码配置
character_set_server=utf8
init_connect=’SET NAMES utf8’
:wq!保存退出
第十步,重启MySQL
1 | [root@localhost data]# systemctl restart mysqld |
第十一步,登录root用户查看编码
第十二步,测试远程连接