云服务及网站搭建过程

    大学时候想搞一套云主机部署自己项目,奈何资源匮乏导致兴趣大减。工作半年恰逢疫情最近感觉有点荒废,摸鱼之余想起以前的壮志豪情,不禁感触。动手吧~

   现在云主机都对大学生极大优惠,还是能搞一搞的。话不多说,上云--

   部署在线个人网站无非是购买云主机、申请域名、购买DNS解析服务(有的购买域名赠送)、搭建项目环境、部署项目、访问测试。

1、云主机

    提供云服务的有阿里、腾讯、百度、华为云等,比较后发现配置价格优惠都差不多,毕竟有市场在。毫不犹豫选了阿里。

    购买后得到以下服务:

   

      登录:之前想着服务器可能远程连接需要虚拟机,操作时发现可以线上连接,有workbench和VNC两种方式。

2、域名

     域名是最便宜的,搭建不需要数据库服务的个人静态网站博客之类的可以只申请域名,代码挂载github或gitee,直接链接就可以。将来搞套自己的工作台极好。

3、DNS解析

     阿里域名购买后提供了免费基本款DNS服务,可以直接使用。 

   

4、环境

     数据库mysql,容器tomcat,项目SSM框架。

    上传云服务文件可以wget、xftp。 云服务控制台有上传操作,没找到。

     xftp远程连接可能需要开放远程root用户登录:

修改配置文件:/etc/ssh/sshd_config,

将 PermitRootLogin no  修改为  PermitRootLogin yes

重启 SSHD 服务

  rz、sz方式: yum -y install lrzsz

 Mysql 

              远程yum资源顺手贴了:wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm   

   安装:(1)sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm

                 如果与之前版本冲突:rpm -e mysql-5.0.77-4.el5_6.6.x86_64 --nodeps    (其中版本为已安装冲突版本,安装之前最好把之前安装无用的清理掉   yum -y remove MySQL-*  、find / -name mysql  )

                安装完成会生成两个包:

               /etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo
           (2)sudo yum install mysql-server

                设密码:service mysql start   

                             mysql -u root

                             use mysql

                             update user set password=password('123456') where user='root';       

                             service mysql restart        

                 登录:mysql -uroot -p   输入密码               
          (运行命令:systemctl start mysqld    (开启数据库)  systemctl enable mysqld    (开机自启数据库))       

Tomcat:   

               安装tomcat前需 java -version  检查java环境。

           (1)安装jdk     yum install java-1.8.0-openjdk  (会自动安装到目录 /usr/lib/jvm/    其他jdk版本: yum search java|grep jdk)

                    配置环境变量: vi /etc/profile     

                                             #java
                                              export JAVA_HOME=/usr/java/jdk1.8.0_181/jre     (写到bin/java目录前)
                                              export PATH=$JAVA_HOME/bin:$PATH
                                              export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib

                   生效: source /etc/profile

             (2)下载tomcat tar包 : https://tomcat.apache.org/download-80.cgi    安装: tar -zxvf ***.tar  重命名:mv *** xx

           (3)进入/bin 目录 ,./startup.sh   启动成功后,http://云ip:8080  访问。

                  启动失败则:查看进程: ps -ef | grep tomcat             

                                       查看运行端口: netstat -tunlp                       

                                       查看指定端口:netstat -lnp|grep 8080

                                       查看日志: ./catalina.sh run

                                       查看端口被占用情况  netstat -anp 

                                      查看进程详细情况  ps -ef|grep PID 

                                      杀掉进程  kill pid 

                                      重启tomcat.

                                      实在不行重新下载

             (4)  java 占用tomcat 8080 端口情况:

[root@izbp109iqt20o2h63tpcuvz java]# netstat -lnp|grep 8080
tcp6  0  0 :::8080     :::*     LISTEN  4486/java

16 /usr/local/java/jdk1.8.0_152/jre/bin/java-Djava.util.logging.config.file=/usr/local/java

            (5) 防火墙开放8080端口

                 /etc/sysconfig/iptables  

-A INPUT -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp --dport 3306 -j ACCEPT
-A INPUT -m state --state NEW -m tcp --dport 8080 -j ACCEPT

         service iptables save   保存策略

        systemctl restart iptables.service   重启防火墙

       没有iptables则需安装  :

systemctl stop firewalld 
systemctl mask firewalld
 
yum install -y iptables 
yum install iptables-services

systemctl start iptables.service
systemctl restart iptables.service // 重启防火墙使配置生效 
systemctl enable iptables.service // 设置防火墙开机启动


#相关命令
service iptables status #检查是否安装了iptables 
yum install -y iptables #安装iptables 
yum update iptables #升级iptables 
yum install iptables-services #安装iptables-services 
systemctl disable iptables #禁止iptables服务 
systemctl stop iptables #暂停服务 
systemctl enable iptables #解除禁止iptables 
systemctl start iptables #开启服务


#专业关闭firewall操作
systemctl stop firewalld.service 
systemctl disable firewalld.service   (禁止开机自启动)
firewall-cmd --state   (查看状态  not running则已关闭)

#安全配置规则
[root@localhost ~]# #开放9200端口
[root@localhost ~]# iptables -A INPUT -p tcp --dport 9200 -j ACCEPT

[root@localhost ~]# #1.查看iptables现有规则
[root@localhost ~]# iptables -L -n

[root@localhost ~]# #清空所有自定义规则
[root@localhost ~]# iptables -X

[root@localhost ~]# #添加内网ip信任(接受其所有TCP请求)
[root@localhost ~]# iptables -A INPUT -p tcp -s 192.168.24.151 -j ACCEPT

[root@localhost ~]# #过滤所有非以上规则的请求
[root@localhost ~]# iptables -P INPUT DROP

[root@localhost ~]# #封停一个IP
[root@localhost ~]# iptables -I INPUT -s 192.168.24.153 -j DROP

[root@localhost ~]# #要解封一IP
[root@localhost ~]# iptables -D INPUT -s 192.168.24.153 -j DROP

[root@localhost ~]# #保存上述规则
[root@localhost ~]# service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[  确定  ]

             查看是否有监听8080端口: netstat -lput     没有则iptables -F清空规则重新添加。       

             启动报firewall错,centos6以上防火墙默认使用firewall  ,firewall开放端口:   

firewall-cmd --zone=public --add-port=8080/tcp --permanent

firewall-cmd --reload            

systemctl start firewalld   (启动)

systemctl enable firewalld  (自启动)

          [怀疑]  

               1>openJDK冲突,卸载openJDK
                     查出: rpm -qa | grep java, 卸载:sudo rpm -e --nodeps 加卸载   
                     全部卸载java相关:rpm -e `rpm -qa | grep java` --allmatches --nodeps

                     官网下载linux版jdk,安装。

                2>防止启动时计算随机数的时候阻塞,启动之前造成shutdown.sh

                    $JAVA_HOME/jre/lib/security/java.security

                    将:securerandom.source=file:/dev/random
                    改为: securerandom.source=file:/dev/urandom

          [解决]

               1>由于一直只查看日志,部分日志报错并不影响正常服务,经过下载终端命令下的web浏览器进行测试:

                    安装: yum install links  ,y继续    访问:links localhost:8080 , 方向键滑动   ,q键退出

                    页面显现。   服务防火墙已开放,到此原因只能是云服务器安全规则,配置安全规则即访问成功。

                2>通过域名访问还需进行域名备案。         

5、部署

     (1)导入sql文件

create database ***;   
use ***;
set names utf8;
source /../**.sql;

     (2) war包部署tomcat

          我这里以SSM(无maven以及springboot)web项目为例,选择相应模组

         

         Facets必选web,如下图

        

       选择导出:  然后build war包,导出后war包名可重命名。     

    (3)配置tomcat项目访问

       war包扔进webApp下即可,访问时需加war包名。

       修改配置文件:

server.xml: 端口改为80  

       设置虚拟路径:

          <host>...</host>的标签之间添加    <Context docBase="E:\Tomcat 6.0\webapps\uploadPicture" path="" reloadable="true"            debug="0" />

          docbase: 项目的绝对路径

          path: 访问该项目的路径 因为我们是想不输入项目名来访问这个项目,所以这个就为空

          reloadable: 是否自动检测项目的变化。如果为true,则tomcat会自动检测项目的/WEB-INF/lib     和/WEB-INF/classes目    录的变化,自动装载新的应用程序,我们可以在不重起tomcat的情况下改变应用程序。如果是false  就不检测 (推荐在开发的时候使用true 虽能debug消耗资源,但不用每次修改程序就重启tomcat,发布的时候用false)

6、访问

      域名访问需要过审,阿里云备案会先对提交材料进行审核,无纰漏后会提交给备案机构审核(这一步就得漫长的等待了)审核通过访问域名即可进入网站了。

    备案链接贴一下: https://beian.aliyun.com/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值