前言
当我们想把在单机或者局域网辛苦数周甚至数月开发的网络应用,发布到互联网时,我们一般会遇到如下几个问题。
1.网络主机的租用:就是运行我们的网站或者app服务端的载体。N年之前,人们为了开通网站,一般都在IDC(Internet data center)机房,租用或者放置1U的服务器,在那里直接连接的网上。大一点儿的公司,也有租用光纤,直接在公司部署的。这些都存在一个共同的问题,费用比较高。后来,网络虚拟主机和云服务器的出现,降低了这方面的费用,为学习和低预算的项目,提供了网络发布的可能。
2.域名的注册:域名注册,就是将名称与IP地址对应起来的这项服务。有专门的文章论述免费域名的注册方法,以及为什么要花钱注册域名,这里就不再赘述。毕竟花费了很多心血做成的网站或者应用,建议花小钱购买一个域名。
3.备案:在大陆境内申请的网站,要通过政府部门的认证备案。
申请过程
整个过程,都是摸石头过河,前后大概用了一周时间。下面是实现过程和相关的一些技术细节。
经过在网上查找,发现很多互联网公司发现云服务器之块是块费缺,都在大力的做宣传推广,提供15天到数月的免费试用活动。作为对价格比较敏感的个人用户,就找活动和后期费用比较优惠的提供商。比较了某为和某度的产品,感觉某度的产品更符合自己的目前需要,后面的例子主要是某度的。
-
选择一个云服务器付款后,就可以从网页上对云服务器进行操作部署。我选的是ubuntu服务器,这样可以方便的通过命令行就行远程控制。
1.1 ubuntu通过root登录后,为安全起见,一般创建一个新用户。使用adduser命令,可以方便的创建新用户。创建后,要把新创建的用户添加到sudo用户组,或者修个/etc/sudoers文件,否则使用新创建的用户登录后,不能使用sudo命令。
1.2 在某为的ubuntu服务器,apt源不能正确访问。换了本地计算机上的/etc/apt/sources.list,仍然不行。后来无意中发现,本地使用的是amd64,而某为提供的是arm64, 我shit,此出省略一万字。搞得我一天时间就这样白白浪费了。换上中科大或者清华的apt源后,sudo apt-get udpate终于正常。某度提供的是amd64,而且源是自己维护的,直接可以用。这也是我最终选择某度的原因之一。
1.3 安装mysql,使用下面两条指令轻松搞定
$sudo apt-get install mysql-client
$sudo apt-get install msyql-server
检查mysql是否安装成功:
$sudo dpkg -l | grep mysql
检查mysql是否运行
$sudo netstat -aNo | grep mysql
1.4 配置mysql
新安装的mysql,使用mysql_secure_installation命令,确保mysql安全。
使用mysql的缺省root用户 ,创建数据库。使用root用户,创建新用户,设置用户权限。
1.5 安装java
某为的云服务器上,自动安装了java环境,不需要安装。某度上,使用apt命令,可以方便的安装。
1.6 将网站发送到远程计算机,运行网站。
我 使用的是springboot+mybatis+thymeleaf开发的网站应用,用eclipse+gradle管理代码。网站开发完成后,可以轻松的打包成jar包。在本地ubuntu上,使用scp命令,将tar包发送到云服务器。在云服务器,使用java -jar 运行即可。 -
域名申请
2.1 目前为止,发布到网上的内容虽然可以通过ip地址访问了,但是一旦某天忽然想换一台其他厂商的云服务器,就会发现问题来了,应用已经和这个ip地址绑定了。而且,如果地址栏总是显示一串数字,用户也容易产生疑惑。因此,申请一个域名也是非常有必要的。
2.2 免费和付费域名的申请
免费域名可以在freenom网站进行申请,近期有反映说免费域名很难申请到了。而且,免费域名没有任何保障,服务商可以随意给关闭或者转给其他付费用户。第三,就是域名费用相对比较低,因此建议购买一个域名。
2.3 我是从某度上,花9元一年注册注册了umic.top的域名。第一年优惠,后面想继续用的话,费用会增长。
请大家多支持,有钱的捧个钱场,没钱的捧个人场。 -
备案
我在某度上租的服务器,因此,就通过某度进行备案,按要求填写就可以了。我的备案还在申请过程中,不过应该没问题,毕竟技术网站,还花了银子