JavaWeb项目部署指南
2020-01-02 08:37:55来源:博客园 阅读 ()
JavaWeb项目部署指南
第一步,登录我选了ubuntu系统,账户是ubuntu——,于是在终端里:ssh ubuntu@aa.bb.cc.dd 之后输入密码,登陆成功。
腾讯云是默认不提供root账户的,但是没有root账户,我们寸步难行,所以第一件事,用腾讯云提供的命令,切换到root账户:
sudo /bin/su - root
如果没有root账户,接下来的步骤你都很难进行。
之后我们进入我惯用的一个文件夹:cd /usr/local
第二步,下载安装jdk。
wget http://download.oracle.com/otn-pub/java/jdk/8u121-b13/e9e7ea248e2c4826b92b3f075a80e441/jdk-8u121-linux-x64.tar.gz?AuthParam=1490750662_b8ecb2cd247de00b452a7363e9763c98
这个链接需要你用chrome浏览器,右击页面任意部分,选择检查-网络,然后对linux 64位 tar.gz格式的jdk,点击下载,然后看network面板中,请求的链接。
直接右击复制链接是不行的。
这里下了很久很久,大概一个半小时,才把这170兆的jdk下完。可能是因为我只选了1兆的带宽。
之后利用mv命令把这个文件命名为jdk.tar.gz,然后解压
tar vzxf jdk.tar.gz
把安装后多出来的新文件夹命名为jdk8。
然后设置环境变量vi /etc/profile
末尾加上:
export JAVA_HOME=/usr/local/jdk8
export PATH=$JAVA_HOME/bin:$PATH
jdk1.5以上的版本,不用设置CLASSPATH环境变量。
然后执行
source /etc/profile
这样jdk就安装完成了,可以输入 java -version查看。
第三步,tomcat
依然是在/usr/local文件夹里,链接是:
wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-8/v8.5.12/bin/apache-tomcat-8.5.12.tar.gz
之后的步骤如同jdk,解压即可,不需要设置环境变量,之后编辑远程tomcat服务器下的conf/tomcat-users.xml
,在末尾增加(其实只要拉到文件末尾,去掉注释改一下就可以了)
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="admin" password="password" roles="manager-script"/>
<user username="root" password="password" roles="manager-gui"/>
将上面的password改为自己的密码,注意对于tomcat9来说,不能同时赋予用户manager-script和manager-gui角色。第一个角色可以让你通过Maven的tomcat7插件部署项目,第二个角色可以让你进入tomcat的管理页面。
保存tomcat-users.xml。
在tomcat服务器的conf/Catalina/localhost/目录下创建一个manager.xml文件,写入如下值:
<?xml version="1.0" encoding="UTF-8"?><Context privileged="true" antiResourceLocking="false"
docBase="${catalina.home}/webapps/manager">
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" /></Context>
之后可以到tomcat/bin/下面,用./startup.sh来启动了。此时的tomcat运行在8080端口,以前我都是用防火墙将80端口转发至8080解决的,但腾讯云不允许改动防火墙设置。
你可以用lsof -i:80
这样的指令来查看端口占用情况。
延伸——(为什么tomcat无法绑定80端口,解决方案,以及更优解):Tomcat默认是绑定8080端口,参考tomcat/conf/service.xml
:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
你可以把这里的8080改成80,但这样就不能简单的./startup.sh
启动了,要用sudo /usr/local/tomcat/bin/catalina.sh
(因为linux是默认1024一下的端口不开放的,必须要用权限),但这样时tomcat会提示你找不到java的环境变量:
Neither the JAVA_HOME nor the JRE_HOME environment variable is definedAt least one of these environment variable is needed to run this program
因为,在catalina.sh中,写到
CLASSPATH=
if [ -r "$CATALINA_BASE/bin/setenv.sh" ]; then
. "$CATALINA_BASE/bin/setenv.sh"
elif [ -r "$CATALINA_HOME/bin/setenv.sh" ]; then
. "$CATALINA_HOME/bin/setenv.sh"
fi
也就是说,你需要在bin文件夹下,vim setenv.sh
,在这里添加你的Java环境变量:
export JAVA_HOME=/usr/local/jdk
执行。
但其实这样,并不太好,tomcat只是java的东西,如果你还有php的,.net的,Python的别的程序也想要80端口怎么办?
其实你可以就让tomcat在8080端口,用Nginx解决,我会放在第五步说。
第四步:安装mysql
傻瓜操作,只管输入 sudo apt-get install mysql-server
服务器自己就会跑起来安装,中间会让你输入密码,比如我输入mysql。
安装成功后,会自动运行,我们检查一下:
~ ps -aux|grep mysql
mysql 3205 2.0 0.5 549896 44092 ? Ssl 20:10 0:00 /usr/sbin/mysqld
conan 3360 0.0 0.0 11064 928 pts/0 S+ 20:10 0:00 grep --color=auto mysql
接下来我们改一下MySql的默认字符集
用vi打开MySQL服务器的配置文件my.conf
~ sudo vi /etc/mysql/my.conf
此时这个文件里其实没有什么内容,直接拉到底部复制粘贴就可以了。
在[client]标签下,增加客户端的字符编码
[client]
default-character-set=utf8
在[mysqld]标签下,增加服务器端的字符编码
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
此时的MySQL只会侦听127.0.0.1:3306的连接,由于我只有一台云服务器,这样显然是安全且合适的。
第五步,Nginx
Nginx可以绑定80端口。Nginx的安装好像众说纷纭,我是看了一下2篇文章安装成功的。
http://www.jianshu.com/p/7cb1a824333e
https://segmentfault.com/a/1190000007803704
这两篇,都是好文章,第一篇后半段有一些必须的库,第二篇中间有安装方法,注意那里的make前面没有#。
Nginx有很多配置文件,真正有用的在/etc/nginx
下面,这里nginx.conf
是主配置文件,默认会把conf.d
这个文件夹include进去,你只需要在conf.d
下面写一个配置文件就行。
进入 conf.d
,然后vim tomcat.conf
在里面写一个server:
server{
listen 80;
server_name localhost;
location / {
proxy_pass http://localhost:8080;
}
}
之后,你可以测试一下你的配置文件,nginx -t -c /etc/nginx/nginx.conf
重启nginx,这个重启也分为2种,看你的是通过apt-get安装的还是解压的,我是解压的,就得先杀死进程,
root@VM-5-12-ubuntu:/etc/nginx/conf.d# ps -ef | grep nginx
root 25044 1 0 13:31 ? 00:00:00 nginx: master process ./nginx
nobody 25045 25044 0 13:31 ? 00:00:00 nginx: worker process
root 28981 26238 0 14:36 pts/1 00:00:00 grep --color=auto nginx
这样可以看到master进程的pid,把它kill:kill -QUIT 25044
之后再去你的nginx文件夹里,进入sbin文件夹,执行nginx文件。
这样,基本上就行了。
第六部,配置ssh key
建立SSH信任,在自己的电脑上使用 ssh-keygen -t rsa
命令生成公私钥,一般会存放在~/.ssh
文件夹下,把你的公钥,即 id_rsa.pub
上传至服务器:
scp ~/.ssh/id_rsa.pub ubuntu@aa.bb.cc.dd:~/
之后利用sudo命令把它放进.ssh文件夹下,并改名为 authorized_keys
基本上就这些了,我试了在root用户的~/.ssh文件夹下面也放我的公钥进去,但是依然不能默认root用户登录。
最后复习一下用户切换指令:
ubuntu@VM-5-12-ubuntu:~$ sudo /bin/su - root
root@VM-5-12-ubuntu:~# su - ubuntu
ubuntu@VM-5-12-ubuntu:~$
接下来等待备案完成即可。
原文链接:https://www.cnblogs.com/yakyaker/p/12133444.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 附020.Nginx-ingress部署及使用 2020-06-02
- corosync v1 + pacemaker高可用集群部署(二)资源配置(VIP+ 2020-05-28
- Nginx + Docker 多阶段构建的部署学习 2020-05-25
- 私有云技术 2020-05-23
- 运维相关 2020-05-16
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash