在 Windows 环境下进行 Web 开发时,经常要在把项目部署到服务器上测试,但是奈何租用服务器太贵,负担不起,这时可以通过 VMware 创建一个 Linux 服务器供自己测试用。(如果有公网IP,更可以设置通过公网IP访问到服务器,具体参考:【内外网映射】通过外网ip来访问虚拟机服务器【原创】)
在 VMware 创建一个可以从自己 Windows 访问的服务器很简单,只要简单的几步就行:
- 首先安装好 VMware,这是不用说的啦。
- 然后在 VMware 里安装好 Linux , 我安装的是 CentOS。
- 安装好后接下来的操作就是重点了!
-
打开虚拟网络编辑器。 <编辑> --- <虚拟网络编辑器>
-
- 选择 VMnet8 ,确定选择的是 NAT模式,点击 NAT 设置,端口转发中点击添加。
- 这里先添加两条条目,如下图,虚拟机IP地址改为自己服务器的 IP,通过 ifconfig 命令查看。
第一个 22 端口是用于远程连接到我们的服务器。
第二个 80 端口是用于访问部署在服务器上的WEB服务。
设置好后通过 putty 连接下看看。 (连接之前确定服务器已经联网,可能会遇到无法联网的问题,解决方法写在下面)
刚才还配置了一个 80 端口,我这里已经装好了 Nginx,也来测试下,在
Windows 下访问服务器地址,成功转到 Nginx 欢迎页面。
PS: 如果安装了 Mysql,也希望能从 Windows 远程连接,添加多一条 3306 端口的映射,然后再进行授权处理:
例如,你想root使用123456从任何主机连接到mysql服务器。
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
如果你想允许用户jack从ip为10.10.50.127的主机连接到mysql服务器,并使用654321作为密码
mysql>GRANT ALL PRIVILEGES ON *.* TO 'jack'@’10.10.50.127’ IDENTIFIED BY '654321' WITH GRANT OPTION;
mysql>FLUSH RIVILEGES
另外,在 <编辑> --- <首选项> --- <工作区> 中勾选上如图选项可以在关闭
小问题:
- 安装好 CentOS 后可以无法联网,通过下面 2 个步骤解决。
-
vim /etc/sysconfig/network-scripts/ifcfg-系统对应网卡名
,把ONBOOT
改为yes
,保存。 - 打开虚拟网络编辑器,点击 NAT设置 找到 DNS设置,取消勾选自动检测可用的 DNS 服务器,在 Windows cmd 下输入 ipconfig/all,找到以太网适配器,把这里的DNS服务器复制到DNS设置中。如果没有自动开启,手动到系统设置中开启网络连接。
-
- 安装好 Nginx 了,80 虚拟端口的映射也设置好了,网也联上了,但在 Windows 上还是访问不到 Nginx 。可能是防火墙的问题,终端输入
iptables -F
和iptables -P INPUT ACCEPT
再尝试。
我通过这个方法解决了问题,如果你仍无法解决,请参考:如何访问VMWare虚拟机中的搭建的Nginx Web服务器 或自行搜索解决方法。