在前一篇中了解到如何利用 SecurityCRT 远程登录云主机,那么现在就到重头戏了:如何将我们的 Java Web 项目部署到云主机上呢?请往下看…
简介
简单说一下:
1. Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器
2. 特点是占有内存少,并发能力强。在高连接并发的情况下,Nginx是Apache服务器不错的替代品
安装
我们使用 yum 来安装 nginx,执行命令 yum install nginx 即可。安装好后,我们来试着启动下 nginx,执行命令 service nginx start.
测试
既然 nginx 成功安装并开启了该服务,那么我们应该来测试下能否使用正常运行呢?执行命令 * wget http://127.0.0.1 *,可以看到如下显示:
既然使用 wget 可以连接到 http://127.0.0.1 那么我们试着在浏览器上请求该地址是什么情况?若是本地机器上安装的 nginx,则直接在浏览器上输入该地址;若是云服务器上安装的,则使用 http://云服务器公网IP。结果如下:
通过这两项测试,就说明nginx安装配置成功,可以正常运行
部署本地代码
刚刚在浏览器端显示的是 nginx 默认的 index.html 的显示界面,和 Tomcat 默认显示情况类似。该 index.html 是在 nginx 安装目录下的 html 文件夹下的(/usr/share/nginx/html). 我们若是想将某一 html 文件部署,可以将文件放入 html 目录下,然后在浏览器端访问 http://127.0.0.1/xxx.html 即可。如下:
1. 进入 nginx 下的 html 目录:命令* cd /usr/share/nginx/html *
2. 新建 html 页面:* vi index.htm *,内容如下
3. 本地访问该页面:显示结果如下
为了将代码部署到远程服务器上,我们需要安装 FTP 服务和 FileZilla。这样可以将本地 Windows 机器上的代码通过 ftp 协议传输到远程服务器。
安装 ftp
在 root 权限下,通过 yum 安装 vsftpd:执行命令 yum install vsftpd。注意:是 vsftpd,不是 install ftp!
配置
安装好后,我们还需要去修改配置文件 vsftpd.conf,将匿名登录禁用掉。执行命令 vim /etc/vsftpd/vsftpd.conf,将第11行的“anonymous_enable=YES”前面加上#号,即将匿名登录禁用。至于为什么要禁用匿名登录呢?待会儿再说,请往下看…
检查配置
配置好后,我们来检查一下生效的配置中,是否不包含 anonymous_enable=YES,执行命令cat /etc/vsftpd/vsftpd.conf |grep ^[^#]
启动 ftp 服务
配置好后,我们就启动 ftp 服务。执行命令:service vsftpd start 。
注:为了方便,我们最好也是让 ftp 服务开机自启。执行命令:chkconfig vsftpd on
配置 ftp 账户
刚刚配置 vsftpd.conf 一步, 我们将匿名登录给禁用了。这是为什么呢?原因就是为了安全。禁用匿名登录后,我们可以来配置 FTP 账户和密码,通过配置的账户密码,连接远程服务器,再传输文件。不然,若是使用匿名登录,那么只要是知道公网 IP 的人,就可以传输文件,那多不好!
现在开始来配置 ftp 账户的用户名和密码。其命令格式如下所示:
① 设置账号的命令:useradd -d /home/username -s /sbin/nologin username
② 设置对应的密码:passwd username
我们以下面的例子来说明一下:
# 账号为“xiaoming”,目录为/home/xiaoming,且设置不允许通过ssh登录
useradd -d /home/xiaoming -s /sbin/nologin xiaoming
# 设置账号对应的密码为 123456
passwd xiaoming
New password:123456 # 这是在执行 passwd xiaoming 后会出现的
修改 pam
配置好了账户密码后,我们就需要来修改 vsftpd 的 pam ,以使用户可以通过自己设置的FTP用户帐号和密码连接到云服务器。我们可以先看下 /etc/pam.d/ 目录下的内容:执行命令 ls /etc/pam.d/
编辑:执行命令 vim /etc/pam.d/vsftpd, 其原始内容如下:
我们将其修改为以下内容:
#%PAM-1.0
auth required /lib64/security/pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
auth required /lib64/security/pam_unix.so shadow nullok
auth required /lib64/security/pam_shells.so
account required /lib64/security/pam_unix.so
session required /lib64/security/pam_unix.so
修改好后,重启 ftp 服务。执行命令:service vsftpd restart
安装 FileZilla
我们安装配置好 FTP 服务后,怎样才能将本地代码通过 FTP 协议提交到远程服务器呢?其实很简单,我们可以使用 FileZilla 来帮助我们完成这项工作。当然你也可以选择其他第三方 FTP 软件。在本地机器上下载安装好 FileZilla 后,我们尝试着使用 FileZilla 来进行文件传输。
测试 FileZilla 文件传输
既然准备工作已经全部完成了,那么就试试将本地的一个 test.html 文件传输到远程服务器吧。我们直接在本地站点上找到 test.html ,然后拖拽到远程站点或者右键选择传输,这样就将 test.html 传输到了 FTP 账户目录下了。
当然仅仅放在该目录下还是不行的,因为我们需要将其放在 /usr/share/nginx/html 的目录下,这样才能通过外网来访问我们部署的代码。使用 SecureCRT 远程登录云服务器,进入FTP用户目录下,然后使用 cp 命令将刚刚上传的文件复制到 /usr/share/nginx/html 下,在来访问就 ok 了.
到目前为止,我们已经尝试过在云服务器上部署代码了。虽然只是简单部署了的静态 html 文件,但是还是收获了许多。下一部分,我们开始学会如何在云服务器上部署 JavaWeb 项目。
注:nginx 的使用可不仅于此,有兴趣的可以自行学习下。
前往 bascker/javaworld 获取更多 Java 知识