发布项目到公网

AOEBIU 2020/1/20 Linux
详情
将自己的Web项目部署到外网,首先需要Linux,通过一些软件连接上服务器并进行操作。总体思路就是安装JDK以及Web项目需要的其他软件如tomcat和MySQL等,然后配置tomcat的server.xml.就能通过外网访问本机Ip地址了,最后通过服务提供商的外网映射,可以通过域名访问(域名备案大概半个月左右)
注意
讲自己的web项目发布之前千万不要忘记修改数据库的账户密码等
FTP服务器
可以通过FTP与外部互通
创建目录
mkdir -p /home/wwwroot/ftpuser
安装ftp
yum install vsftpd -y
启动ftp
systemctl start vsftpd.service
systemctl status vsftpd.service
创建用户
useradd -d /home/wwwroot/ftpuser -g ftp -s /sbin/nologin【用户名】
设置权限
chown -R ftptest /home/wwwroot/ftpuser
chmod -R 775 /home/wwwroot/ftpuser
设置密码
passwd 【密码】
通过vi配置端口(i开启输入,Esc退出输入,分号加shift输入命令,wq保存退出,q!不保存退出)
vi /etc/vsftpd/vsftpd.conf
在最后添加上
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=30010
鉴权
vi /etc/shells
在最后添加/sbin/nologin
设置安全组
阿里云为例
在端口范围中填写3306/3306(mysql默认端口),80/80(浏览器默认端口),21/21和30000/30010 (ftp端口)授权对象均为0.0.0.0/0
准备项目
以maven项目为例
不要忘记改为war工程
clean和install之后等待IDEA,将项目中生产的target文件夹中的.war文件解压
上传
在自己的电脑上下载FTPRush
点击快速连接对话框
其中填写主机地址(就是服务提供商给你的本机外网Ip),以及FTP的用户名和密码
将.war的解压后的文件夹拉到远程窗口中,等待结束即可
安装JAVA
yum -y list java* 查看yum仓库中jdk的版本
yum -y install java-1.8.0-openjdk.x86_64 下载并安装
java -version 判断是否安装成功
安装TOMCAT和MYSQL
可以通过yum的方式安装
也可以在自己的电脑上下载tomcat和mysql(linux版本)然后拉到ftprush中上传,再复制到你想要的文件夹下并解压cp /home/wwwroot/ftpuser /xxx xxxx/xxx.xxx
解压命令各不相同,如果是.gz的话是gzip -dv xx.gz
cd /xxx/xx 进入想要进入的目录 cd进入用户目录(可以理解为根目录,不过真正的根目录是 cd /)
*可以通过pwd查看所处的目录
mysqladmin -u 【账户】 password 【密码】mysql命令和windows的dos界面的命令一样
修改端口
进入tomcat的目录修改server.xml找到Connector port="8080" protocol="HTTP/1.1"修改为Connector port="80" protocol="HTTP/1.1"
进入tomcat的bin目录./startup.sh
这样就可以通过本机ip地址访问了 106.14.8.213如果出现tomcat页面说明tomcat安装成功
最后
在<host name="...(在server.xml的比较下面的位置)下面添加
<Context path="" docBase="/home/wwwroot/ftpuser/xx" debug="0" reloadable="false" />
在Linux中可以通过Ctrl加Ins复制,Shift+Ins粘贴(windows也可以这么操作)
修改完都不要忘记保存wq
在tomcat的bin目录中 ./shutdown.sh关闭然后 ./startup.sh启动
tomcat目录下的logs/catalina.out 查看tomcat日志,无法运行时用这个看看哪里报错了(如果这一步无法执行请给最高权限或者杀掉占用端口的线程)
运行正常这个时候就可以通过ip地址访问你的项目了
其它的一些命令
top 查看实时进程
ctrl+c 退出实时界面
sudo chmod -R 777 【目录】 给最高权限
netstat -anp|grep 【端口号】 查看端口占用
sudo fuser 【目录】 查询进程ID
kill -s 9 【进程ID】 杀掉进程
远程连接mysql
和自己的电脑用一个数据库,这样发布之前就不需要改来改去就很方便
mysql -u【账户】 -p【密码】登录mysql,p后面不要加空格,
grant all PRIVILEGES on test_db.* to root '【ip地址】' identified by ''【密码】"; 为你的ip地址打开使用Linux上的mysql的权限
grant all privileges on *.* to '【账户名】' '%' identified by 'root' with grant option;为一个mysql账户可以通过外网连接的权限
flush privileges; 命令立即生效
不是本地ip不要忘记-h【ip地址】,建议使用SQLyong一个非常好用的mysql图形界面程序
通过域名访问
域名需要在对应的服务提供商购买或者将其它地方购买后域名转入
腾讯云为例(我这个域名是在腾讯云上买的因为腾讯的域名只要1块钱,服务器在阿里,转移过来方便操作),DNS修改为:ns1.alidns.com和ns2.alidns.com 现在好像和之前不一样了,我记得之前还是免费的现在还要钱了...解析需要一段时间,具体请看阿里云的帮助文档
转移完成了以后回到阿里云,就可以操作了
等待一会就好大概10分钟以上
部署多个Tomcat
将第一个tomcat复制一份
为第二个tomcat配置环境
cd / 进入顶级目录
cd etc
vi profile
在里面添加
export CATALINA_HOME=【第二个tomcat的目录】
export CATALINA_BASE=【第二个tomcat的目录】
source profile6使配置生效
进入tomcat的文件夹下conf目录并通过vi修改sever.xml
更改里面的三个端口将之前的tomca改的80改成别的(别忘了把它放到阿里的安全组里)
还有8005和8009也改成别的
像上面一样<Context path="" docBase="/home/wwwroot/ftpuser/xx2" debug="0" reloadable="false" />加这个xx2当然是你另一个项目地址
最后..... 在某个目录下 ./shutdown.sh和./startup.sh
像这些重复的命令我都放在桌面txt里,要用到的时候复制粘贴就行了
你可以通过 http://mengnan.xyz:81 或者 http://106.14.8.213:81 访问到我的第二个tomcat
觉得这篇文章对你有有帮助吗?
发表评论
0
说扒~

条回复 个点赞
为什么没人来抢占个沙发呢?