python安装教程(Windows系统,python3.7为例)

1. 在python的官网下载python对应版本:https://www.python.org/downloads/windows/

64位下载Windows x86-64 executable installer 版本

32位下载Windows x86 executable installer 版本

打开链接如下图,版本会一直更新,选择任意一个适合自己电脑的版本就好

未分类

2. 勾选 Add python to PATH 添加路径

安装界面点击Customize installation 自定义安装

未分类

3. 不改变默认进行Next下一步

未分类

4. 选择一个自己喜欢的安装位置

点击Install开始安装

未分类

5. 等待进度条加载完毕

未分类

6. 安装完毕,点击Close关闭

若方框位置出现管理员字样则点击授权再关闭

未分类

7. 验证:运行cmd

进入到自己的安装目录下,运行语句:python -V

若显示出Python对应版本则表示安装成功

未分类

nginx windows安装、使用和开机启动配置

1、nginx windows安装、使用

1.1 下载,解压 nginx

下载地址: http://nginx.org/en/download.html
我下载的是 nginx-1.15.4

D:develop_toolsnginx 目录下将 nginx-1.15.4.zip解压到完整路径 D:develop_toolsnginxnginx-1.15.4, 如图所示:

未分类

1.2、启动nginx

启动nginx有两种方式:

  • 双击启动
  • cmd命令启动

1.2.1 双击启动

直接双击nginx.exe,双击后一个黑色的弹窗一闪而过。

1.2.2 cmd命令启动

用 管理员权限 打开cmd,切换到nginx解压目录下,输入命令 start nginx.exe 或者 nginx.exe ,回车后会出现一个黑色的弹窗一闪而过。

C:UsersAdministrator>cd D:develop_toolsnginxnginx-1.15.4
C:UsersAdministrator>d:
D:develop_toolsnginxnginx-1.15.4>start nginx.exe

1.3 验证

访问 http://localhost/

未分类

注:截图中的1.54是我修改index.html添加的,默认是没有。

2、开机启动配置

2.1 下载 WinSW

下载地址: https://github.com/kohsuke/winsw/releases

我选择的是 winsw-v2.1.2 , 它有两个版本:

  • WinSW.NET2.exe

  • WinSW.NET4.exe (我下载的版本)

2.2 配置步骤

2.2.1 与1.1的操作相同。

2.2.2 将 WinSW.NET4.exe 复制到 D:develop_toolsnginxnginx-1.15.4 目录中,并将名字修改为 nginxservice.exe

2.2.3 新建一个空的 nginxservice.xml 文件(名字要与nginxservice.exe 名字保持一致) ,其内容:

<service>
    <id>nginx</id>
    <name>nginx</name>
    <description>nginx</description>
    <logpath>D:develop_toolsnginxnginx-1.15.4</logpath>
    <logmode>roll</logmode>
    <depend></depend>
    <executable>D:develop_toolsnginxnginx-1.15.4nginx.exe</executable>
    <stopexecutable>D:develop_toolsnginxnginx-1.15.4nginx.exe -s stop</stopexecutable>
</service>

这里有3处必须修改: <logpath><executable><stopexecutable>
这3处是 nginx.exe 的所在目录。

示例中为nginx所有目录是 D:develop_toolsnginxnginx-1.15.4 的配置。

2.2.4 用管理员权限打开cmd,进入D:develop_toolsnginxnginx-1.15.4目录下,执行nginxservice.exe install 命令。

D:develop_toolsnginxnginx-1.15.4>nginxservice.exe install
2018-11-29 10:50:30,231 INFO  - Installing the service with id 'nginx'

未分类

2.2.5 在计算机管理–>服务中,找到 nginx 服务,右键启动服务。

未分类

2.3 验证

3、nginx常用的基本命令

start nginx.exe       ## 启动服务
nginx.exe -s stop     ## 快速停止服务
nginx.exe -s quit     ## 优雅的 停止服务

nginx.exe -s reload   ## 重新加载 配置文件,这命令可以不用停止nginx
nginx.exe -s reopen   ## 重新打开日志文件

windows下用nginx配置https服务器

1.安装nginx

先到nginx官网下载nginx http://nginx.org/en/download.html

未分类

将下载好的文件解压出来修改文件名为 nginx ,然后拷贝到C盘下,目录如下:

未分类

  • 运行 nginx
start nginx
  • 验证

在浏览器中输入 localhost 访问即可,如出现以下页面,即安装成功

未分类

2.安装 OpenSSL

下载OpenSSL http://slproweb.com/products/Win32OpenSSL.html

未分类

下载完成安装到 C:OpenSSL-Win64

配置环境变量

未分类

在path变量后需要加入 %OPENSSL_HOME%

未分类

3.生成https证书

在C:nginx下创建ssl文件夹 用于存放证书

创建私钥 (建议使用系统窗口,不要用gitBash 有涉及到选择的地方,gitBash无法选择)

openssl genrsa -des3 -out shidian.key 1024 //shidian 自己取的名字

效果如下:

未分类

未分类

创建 csr 证书

openssl req -new -key shidian.key -out shidian.csr

未分类

此时效果:

未分类

删除密码 复制 shidian.key 并重命名 shidian.key.org

openssl rsa -in shidian.key.org -out shidian.key

未分类

生成crt证书

openssl x509 -req -days 365 -in shidian.csr -signkey shidian.key -out shidian.crt

未分类

最后生成证书如下

未分类

4.修改 nginx 下的 nginx.conf配置文件

C:nginxconfnginx.conf
upstream nodejs__upstream2 {
    server 127.0.0.1:8080; # 需要监听的端口名 我用的
    keepalive 64;
}

server {
    listen 443 ssl;
    server_name dev.kt.looklook.cn; # 配置的https的域名

    ssl_certificate      C://nginx//ssl//shidian.crt;  # 这个是证书的crt文件所在目录
    ssl_certificate_key  C://nginx//ssl//shidian.key;  # 这个是证书key文件所在目录

    ssl_session_cache    shared:SSL:1m;
    ssl_session_timeout  5m;

    ssl_ciphers  HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers  on;

 location / {
    proxy_set_header   X-Real-IP            $remote_addr;
    proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
    proxy_set_header   Host                   $http_host;
    proxy_set_header   X-NginX-Proxy    true;
    proxy_set_header   Connection "";
    proxy_http_version 1.1;
    proxy_pass         http://nodejs__upstream2;
 }
}
  • 重启nginx
nginx -s reload
  • 访问

输入你配置好的域名即可访问了

windows 搭建 apache + php

1. 安装 apache

登录 apache 官网, 不懂英语的我看的一脸懵, 然后偷偷去百度了…
登录https://www.apachelounge.com/download/

未分类

我的电脑是 win10 64 位 所以我选择了这里

解压, 修改 conf 文件夹下的 httpd.conf 文件

打开 J:apacheApache24conf 目录下的 httpd.conf 文件并作以下修改:

ServerRoot(apache 目录)改为 J:apacheApache24

ServerName (服务器名称) 去掉 #,改为 127.0.0.1

DocumentRoot (修改网站根目录地址)自己设置,一般设置为 J:apacheApache24htdocs

运行 bin 目录下的 httpd.exe 就 ok 了 , 我固定到了开始菜单栏
如果需要安装服务 , 请看这里https://blog.csdn.net/hi_xww/article/details/78045518

2. 安装 php

http://www.cnblogs.com/flyingeagle/articles/6583201.html

3. php 扩展 mysql

这里搞了很长时间…
php.ini 搜索 extension_dir
添加 extension_dir = "D:php7ext"

未分类

开启 mysql 扩展, 去掉这两行的注释, 这个地方 我找了好久

未分类

查看 /ext 目录下 是否有 php_mysql.dll , 如果没有可以在这里下载

https://img.vseu.com/php_mysql.dll

不用装双系统,直接在 Windows 上体验 Linux:Windows Subsystem for Linux

「Microsoft Loves Linux!」

说出这句话的不是所谓的 IT 领域那些技术专家或者是意见领袖,而是时任微软 CEO 的萨蒂亚· 纳德拉,在 2015 年的一次活动中,这位第三任微软 CEO 脱口而出的这句话,让这个曾经开源界最大敌人的微软,正式拥抱这个开源世界最大的操作系统:Linux。

未分类

其实在云计算领域,微软很早之前就让其 Azure 支持多个流行的 Linux 发行版,但对于普通消费者而言,真正的变化发生在后面的 Windows 10:微软宣布将会在 Windows 10 内置 Linux,而采用的技术上并非是所谓的「虚拟化」技术——也就是说,这个子系统的 Linux 完全是原生运行在 Windows 10 上的。

未分类
WSL 技术实现原理
而微软给这个 Linux 系统命名为:Windows Subsystem for Linux,而对于有些系统极客而言,这个名字实在太熟悉了,因为在 Windows 7 之前,微软也曾经内置过一个 UNIX 子系统,可以原生运行 UNIX 二进制程序,他的名字叫做:Windows Services for UNIX。

即便如此,对于很多普通用户而言,Windows Subsystem for Linux 也只是尝鲜的玩物罢了,但对于不少软件开发、系统极客而言,无需通过虚拟机以及双系统的形式体验 Linux ,并且可以实现系统级别的文件互操作,实在是太具有吸引力了。而今天我们就一起来体验探索一番。

如何启动 Linux 子系统

微软从 Windows 10 周年更新(build 14393)开始内置 Windows Subsystem for Linux 组件框架,只不过这项功能当时还只能称作是 Beta 版,而在 Windows 秋季创意者更新中,安装 Linux 子系统变的更为简单——可以直接通过 Microsoft Store 来下载子系统,而可选择的发行版也从最初的只有 Ubuntu 变成可以选择 Suse、Ubuntu、Debian、甚至是用来进行网络安全工作 Kail Linux。

未分类
目前 Microsoft Store 有多款 Linux 发行版可供选择

只不过如果你想要体验这些发行版还需要进行一些简单操作,毕竟 Windows Subsystem for Linux 组件框架并非是默认选中的。

首先我们需要确认自己的 Windows 10 版本,以下的操作方法只适用与 Windows 10 秋季创意者更新(Windows 10 build 16299)以上版本,如果你是 Windows 10 周年更新,安装 Linux 子系统的安装办法你可以检索「 Bash on Windows」自行探索安装方法。此外,系统必须是 64 位操作系统。

未分类
开启「适用于 Linux 的 Windows 子系统」

以上均确认后,打开 「控制面板」—> 「程序和功能」,在左边的「启用和关闭 Windows 功能」里面勾选「适用于 Linux 的 Windows 子系统」,然后点击确定(这一步有可能需要重启)。

未分类

接着打开 Microsoft Store,搜索喜欢的 Linux 发行版,这里我选择的是我比较熟悉的 Linux 发行版 Ubuntu,然后点击安装。对于初学者来说,Ubuntu/ Debian 系的发行版具有非常完善的包管理系统,方便新手快速上手。

未分类

安装完毕之后,你就可以在 Windows 开始菜单中找到「Ubuntu」这个应用了!换言之,现在你的 Windows 10 中就已经成功安装发行版为 Ubuntu 的 Linux 子系统。

Ubuntu 子系统设置与基本命令

在开始菜单中打开 Ubuntu 后,Ubuntu 会进行较长时间的安装和初始化,之后会提示你设置 Linux 的用户名和密码,需要注意的是这个用户名和密码和 Windows 并不通用。

未分类

设置密码是非明文的,不会像 Windows 那样使用「*** 」替代,所以你只要盲打点击确认即可,建议密码使用复杂密码,有些发行版会有强制要求。

输入完成之后,系统会提示你如何提权操作,之后会自动以刚才新设置的用户名登录 Ubuntu。

我安装 Linux 第一件事就是查看内核版本以及系统系统版本,在 Ubuntu 下直接输入以下命令来查看内核版本号:

uname -r

这时系统会显示:4.4.0-43-Microsoft,这表示Linux 内核版本为:4.4.0-43。

至于系统版本号,可以使用:sudo lsb_release -a 来查看,系统会输出:

未分类

这表示 Ubuntu 版本为 16.04。为 Ubuntu 的长期支持版本。

更换 Linux 子系统的软件源并更新软件

之前我说过使用 Ubuntu /debian 系最大的好处就是可以使用「软件源」进行软件安装,使用 Ubuntu 自带的 deb 包管理系统安装软件可以减少直接下载源码编译的麻烦,所以这里就要用到「apt-get」系列命令了。

因为默认的软件源是 Ubuntu 的官方源,我们可以选择替换为国内的软件源,比如说阿里云镜像的软件源。

在当前命令行下面输入:

sudo-i

提权后输入密码,使用 root 权限登录。然后接下来备份当前源,输入以下命令:

cp /etc/apt/sources.list /etc/apt/sources.list.old

不难看出管理源的文件就是 sources.list,我们选择编辑它,编辑器我这里选用的是 vim,所以命令是:

vim /etc/apt/sources.list

使用 vim 后会进入命令模式,敲键盘上的 「i」键键入编辑模式,然后复制下面这段代码(拷贝代码,然后在编辑器上鼠标右击就可以复制):

  # deb cdrom:[Ubuntu 16.04 LTS _Xenial Xerus_ - Release amd64 (20160420.1)]/ xenial main restricted
  deb-src http://archive.ubuntu.com/ubuntu xenial main restricted #Added by software-properties
  deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted
  deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe #Added by software-properties
  deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
  deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe #Added by software-properties
  deb http://mirrors.aliyun.com/ubuntu/ xenial universe
  deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
  deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
  deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
  deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
  deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse #Added by software-properties
  deb http://archive.canonical.com/ubuntu xenial partner
  deb-src http://archive.canonical.com/ubuntu xenial partner
  deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted
  deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe #Added by software-properties
  deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
  deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse

完成之后再敲键盘上的「esc」退出编辑模式,然后再输入:wq点击保存并退出编辑器 vim。

未分类
编辑软件源

紧接着我们更新软件源让编辑的文件生效:

apt-get update

这里我们就将 Ubuntu 的软件源切换到阿里云的源了。

之后再输入:apt-get upgrade 对当前系统的软件和类库进行来更新。如果不出意外系统会自动对现有的软件包进行更新,经过这一系列的操作,目前 Ubuntu 的软件以及类库都是最新的,而系统版本也升级到 Ubuntu 16.04.4 LTS。

启用 SSH 并使用SSH 客户端登录

虽说通过 App 或者应用的形式在 Windows 10 上体验 Linux 是一个不赖的选择,但对于很多软件开发的朋友而言,使用 Windows 内置的 CMD 或者 PowerShell 来操作Linux 依旧有着很多不习惯。而最为关键的是当需要对文件进行操作时,使用交互命令远不如使用 SFTP 来的更为「简单粗暴」。因此只要通过配置 SSH 远程登录,就可以像管理远程服务器那样来操作这个 Linux 系统了。

首先,因为 Ubuntu 系统限制,所以我们需要可以为 root 用户设置新密码,这里输入:

sudo passwd root

配置好之后,未来使用 SSH 客户端或者 SFTP 客户端登录系统时,我们就可以直接使用 root 权限进行登录,就不用使用之前的 sudo -i 提权操作了。

其次按照常规,我们使用cp 命令将 SSH 相关配置文件进行备份:

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

之后使用 vim 编辑器编辑 「sshd_config」文件:

sudo vim /etc/ssh/sshd_config

键盘上点击 「i」后进入编辑模式,编辑并调整以下设置项:

 Port 8022(因为 Windows 10 的 SSH 端口已经默认被占用,所以我换成了一个新的端口)
  (去掉前面的 #)ListenAddress 0.0.0.0
  UsePrivilegeSeparation no(原来是 yes 改成 no)
  PermitRootLogin yes(修改成 yes)
  (在前面加上 #)StrictModes yes
  PasswordAuthentication yes(原来是 no,改成 yes)

之后点击 「Esc」退出编辑模式,直接输入 :wq 退出并保存。

未分类
编辑配置文件并启动 SSH

然后输入命令:service ssh start 启动 SSH。

如何验证已经可以访问呢?我们首先打开 SSH 客户端,比如我目前使用 Xshell,选择「新建会话」。

之后在新建的会话设置框的「连接」中添加如下内容:

  名称:WSL(这个随便填)
  协议:SSH
  主机:127.0.0.1(本机环回接口)
  端口号:8022

之后在「用户身份验证」中输入验证方法,方法选择 「Password」,然后在输入用户名:root,密码选择刚才新设置的 root 密码,最后点击确定。

未分类

然后在左侧的会话管理器找到刚才设置的新会话,双击后如果显示如下图所示的界面就算是成功了!

未分类

除了使用 Xshell 这种 SSH 客户端进行服务器操作之外,还可以使用 Xftp 进行文件上传和管理,唯一的区别是在新建会话处,协议选择「SFTP」,端口号和之前 Xshell 使用的端口号一致即可,点击确认之后出现类似 FTP 管理的界面就算是成功了!这样你就可以使用更为直观的工具来访问 WSL 系统的文件目录。新建文件上传文件也变得更为简单。

未分类

开启图形化界面

比起 Windows和 macOS,Linux 很多时候给普通用户都是冰冷的命令行形象,这让很多 Linux 初学者望而却步;但实际上 Linux 是可以使用我们所说的 GUI 图形化界面的,只不过图形化界面并没有默认安装,这里我尝试手动安装一个图形化桌面。

未分类

由于属于 Linux 子系统的限制,因此安装一些比较「重」的图形化界面组件会大量消耗系统资源,因此我选择较为轻量级的图形化桌面组件:MATE,也是 Ubuntu MATE 的默认桌面组件,当然另一个轻量级桌面 xfce 体验也不错。

首先在终端中输入以下命令安装 Mate 桌面:

sudo apt-get install mate-desktop-environment

这一步命令就是安装完整的 MATE 桌面,这个过程相当长,因为 WSL 默认没有桌面环境,对应的相关组件也没有安装,所以安装桌面会将相关的组件以及依赖都一并安装。

未分类
安装图形化界面以及 VNC 服务端

紧接着我们需要安装可以访问图形化界面的软件,这里使用图形化远程访问工具:VNC;你可以理解成 Windows 电脑中的远程访问。当然 VNC 服务端 WSL 也是不会默认安装的,所以需要输入以下命令安装:

sudo apt-get install vnc4server

安装完毕之后需要修改 VNC 的默认启动桌面,这时候输入:

sed -i 's$x-window-manager$mate-session$' ~/.vnc/xstartup

将默认启动桌面改成 Mate 桌面启动,然后输入:vncserver 启动服务端(第一次启动需要设置连接密码)。这里 WSL 端就基本设置完毕了。

之后我们需要在 PC 上安装 VNC 的客户端,我这里选择的是 Realvnc,然后直接选择 Chrome 应用版本,在 Chrome 商店中添加为 Chrome 独立应用。

未分类

打开 realvnc 并在地址栏中输入:127.0.0.1:1 ,点连接并输入连接密码,如果不出意外,你就可以看到安装有 mate 桌面的 Ubuntu 界面了!

未分类

可视化桌面的终端里面,你可以输入 sudo apt-get install firefox 来安装 Firefox 浏览器,不一会儿你可以在左上角菜单栏的「Applications」中的「Internet」中找到 Firefox 浏览器啦!好了,接下来还能做什么就自己去探索吧!

未分类
图形化的 Linux 界面

一起动手做:搭建本地静态网站

经过以上的折腾,其实你应该对 WSL 有了比较清楚的认识了,其实对于很多开发者而言,WSL 最大的好处在于更接近项目生产环境,虽说 Windows 本身有 IIS 网页服务器可供选择。但目前大部分网站服务器系统都采用的是 Linux,而网页服务器也多是使用 Apache,所以在 WSL 在本机完成部署调试后可能会接近实际一些。所以这里我们做一个小实践:将开发好的一个静态网站部署到 WSL 里面并可以直接访问。

首先,我们要确保 WSL 中安装有 Apache 网页服务器,所以尝试安装(使用超级用户权限),在终端中输入:

apt-get install apache2

未分类

安装完毕之后在终端中输入以下命令开启 Apache 网页服务器:

service apache2 start

当终端里面显示诸如「 * Starting Apache httpd web server apache2」之后,打开本机的网页浏览器,访问:http://127.0.0.1 ,当显示以下页面就表示 Apache 网页服务器已经生效!

未分类

接下来我们尝试将自己开发的静态网页项目传到对应的目录中,这里我们打开 Xftp 这个远程文件工具,连接到 WSL 这个站点,然后访问 /var/www/html 这个目录,然后将项目文件夹传到该目录下方。

未分类

例如我现在传过去的网页全景项目名为「xuyi」,那么传好后我打开浏览器,访问:http://127.0.0.1/xuyi 就可以看到做好的网页的效果啦!如果你是使用 chrome 访问的话,Wappalyzer 扩展还可以显示出当前网站项目使用的框架等。

未分类

结语

至此,我们已经较为完整的体验了 Windows Subsystem for Linux 的一些基础玩法,其实在我看来,Windows 10 下的 Linux 子系统更多的是补充原本 Windows 10 在开发领域上的一些不足,让软件开发/网络开发人员可以以较低的成本来实现与生成环境的一致性,也不用再为了开发而安装双系统甚至虚拟机了。当然在本次体验中我并没有更深入的探索,比如说在 WSL 中安装 PHP 环境以及 Mysql 数据库,所以如果你对 Linux 感兴趣,想要在 Windows 10 上探索 Linux,系统原生支持的 WSL 不妨一试。

挂载kvm虚拟机windows虚拟机镜像文件

1、先用losetup 命令关联loop设备与虚拟机文件

losetup -f 命令可以查看目前空闲的loop设备,使用losetup -a 命令可以查看使用的loop设备的关联情况

关联命令为

losetup /dev/loop0 /root/win2003.img

关闭关联命令为 losetup -d /dev/loop0

2、使用kpartx 命令将映射分区

kpartx -av /dev/loop0

参数-a 表示添加映射关系,-v表示显示映射的对应关系

映射成功的设备在/dev/mapper下面,比如/dev/mapper/loop0p1

3、适应mount命令挂载,因为默认不能识别ntfs分区,需要先安装ntfs-3g软件

ntfs-3g依赖fuse,先安装

yum install fuse -y

下载ntfs-3g(下载页面 http://www.tuxera.com/community/ntfs-3g-download/)

wget http://tuxera.com/opensource/ntfs-3g_ntfsprogs-2011.4.12.tgz
tar -zxvf ntfs-3g_ntfsprogs-2011.4.12.tgz
./configuer
make 
make install
mount -t ntfs-3g /dev/mapper/loop0p1 /mnt

完成后依次关闭

umount /mnt
kpartx -dv /dev/loop0
losetup -d /dev/loop0