入手阿里云服务器
最近手头的项目,打算把后台服务做成REST API,索性,目标就是linux服务器了。但是,写了三十多年程序,一直跟着微软混,对这个linux一无所知。决定从头再来一次,我不信就玩不转这个玩意儿。
昨天购买了阿里云服务器,自费吧,买的最便宜的那款,配置的centOS系统,一年三百多元,价钱还真合适。然后,亚马逊上买了几本电子书,走马观花看了看,大致有个概念。
我想第一步,应该是做个Hello World的网页,通过互联网展现出来。结果就这一点事,从昨天下午开始,一直鼓捣到今天晚上八点多,各种办法都想尽了,还是未能如愿。如果换成Windows Server,这个问题我分钟内搞定。我开始觉得这个阿里云服务器一定有问题,既然承诺五日内可以无条件退货,我决定退掉。就在最后一刻,发现原因所在。阿里云服务器默认防火墙设定,把80端口给封死了。这个默认设定害死人呀,不知道阿里云服务器的产品设计师是谁,脑子进水了吧?
第一印象
阿里云服务器提供了网页版的远程桌面,窗口很小不好用,但是对于初学者,提供了一个简捷的途径。
PuTTY
按照阿里云的建议,下载了PuTTY作客户端,这个很简单,几乎不费时间就搞定了。这样就可以在Windows环境下远程操作这台linux服务器了。
Filezila
如何把文件上传到linux服务器?正好儿子在网上,linux是老手了,告诉我用Filezila。呵呵,这个东西以前用过,公司为了服务器数据安全,让我们用这个访问过服务器。用起来也很简单,这样上传文件就很方便了。
yum
这个yum太厉害了。一开始我在想如何安装开发工具,儿子告诉我可以用这个命令安装。看看下面的命令,我简直要跪了。
yum install java
yum install tomcat
yum install mysql
这工具做得也太省事了吧!
了解Apache
为解决阿里云服务器的这个防火墙带来的问题,逼着我仔细研究了centOS系统。我发现里面有一个httpd进程在侦听80端口,网上搜了一下,原来这就是大名鼎鼎的Apache Web服务的后台主程序。
Apache的配置文件是 /etc/httpd/conf/httpd.conf,网站的设置参数都在这里面。
在阿里云的管理系统中,打开80号端口,在浏览器输入我这台服务器IP,立即出来一个默认网页。按照Apache的配置文件说明,这个网页应该是一个错误处理网页,在没发现主页等错误时显示这些网页。
# ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var
# ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var
# ErrorDocument 403 /error/HTTP_FORBIDDEN.html.var
# ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var
# ErrorDocument 405 /error/HTTP_METHOD_NOT_ALLOWED.html.var
# ErrorDocument 408 /error/HTTP_REQUEST_TIME_OUT.html.var
# ErrorDocument 410 /error/HTTP_GONE.html.var
# ErrorDocument 411 /error/HTTP_LENGTH_REQUIRED.html.var
# ErrorDocument 412 /error/HTTP_PRECONDITION_FAILED.html.var
# ErrorDocument 413 /error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var
# ErrorDocument 414 /error/HTTP_REQUEST_URI_TOO_LARGE.html.var
# ErrorDocument 415 /error/HTTP_UNSUPPORTED_MEDIA_TYPE.html.var
# ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html.var
# ErrorDocument 501 /error/HTTP_NOT_IMPLEMENTED.html.var
# ErrorDocument 502 /error/HTTP_BAD_GATEWAY.html.var
# ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var
# ErrorDocument 506 /error/HTTP_VARIANT_ALSO_VARIES.html.var```
我们设计的网页文件上传位置是:
#
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "/yjdata/www"```
主页的名称下面定义了。
# The index.html.var file (a type-map) is used to deliver content-
# negotiated documents. The MultiViews Option can be used for the
# same purpose, but it is much slower.
#
DirectoryIndex index.html index.html.var index.php
Hello,World!
最后我写了一个Hello,World网页,代码如下:
<html>
<head>
</head>
<body>
Hello, World!
</body>
</html>
保存成文件名index.html,上传到文件夹/yjdata/www。然后在浏览器打开看看效果,那是相当OK!
请点击(这个连接随时会失效哦):Hello,World!
累死我了,睡觉去!