阿里云-网站搭建(保姆级别)

说在前头:因为在这个搭建的过程中,尝过了不少的苦头,流过了不少的心酸泪,所以我希望后来者们,能够好好的活着,心态炸了也要继续热爱生活。/委屈巴巴

另外,一些我们使用的软件版本最最最好控制与项目同步。(别问我为什么,我先去哭三分钟)

 

我这里个软件使用到的版本(主要还是控制大版本的变更,例tomcat 7,8,9,mysql5.x , 8):

       - linux centos7.3

       - jdk1.8

       - tomcat 9.0.14

       - mysql 8.0.17

l  因为项目所需要的软件安装包(以及后面的项目文件),我都是事先在自己电脑里下载的 (各软件网址有提供),所以要上传到服务器端中,我们先下载一个FileZilla,并在服务器的linux系统里面进行相关的配置。

大部分命令我都采用截图的的方式展现,这样也有利于大家温习或者学习一下linux命令嘛。(CV太麻烦了,我会说出来吗?)

搭建FTP

       将文件上传到服务器端需要搭建一个FTP服务。

1.安装vsftpd

       [root@admin]# yum -y install vsftpd

2.编辑vsftpd的配置文件

[root@xiaojian /]# vi /etc/vsftpd/vsftpd.conf

清空内容,添加如下内容

listen=YES

background=YES

anonymous_enable=NO

local_enable=YES

write_enable=YES

local_umask=022

anon_upload_enable=NO

anon_mkdir_write_enable=NO

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

chown_uploads=NO

xferlog_file=/var/log/vsftpd.log

xferlog_std_format=YES

async_abor_enable=YES

ascii_upload_enable=YES

ascii_download_enable=YES

ftpd_banner=Welcome to ftptest FTP servers

pam_service_name=vsftpd

chroot_local_user=NO

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/vsftpd.chroot_list

3.创建管理账户文件

       [root@xiaojian /]# touch /etc/vsftpd/vsftpd.chroot_list

4.启动vsftpd服务

       [root@xiaojian /]# service vsftpd start

5.下载FileZilla(百度去,网上啥都有)

      

 

 

 

接下来就可以往服务器端上传文件了

 

 

安装配置jre1.8

下载地址:http://www.oracle.com/technetwork/java/javase/downloads/server-jre8-downloads-2133154.html

   1.把下载好的文件上传到服务器端(我把搭建所需的环境都放在了 /usr/local 下:java、tomcat、mysql)

     

 

  2. 来到该目录下 cd /usr/local/java ,解压

    [root@xiaojian java]# tar -zxvf server-jre-8u131-linux-x64.tar.gz

  3. 删除安装包

    rm -rf server-jre-8u131-linux-x64.tar.gz

  4. vi /etc/profile启用linux文本编辑器配置jdk环境变量

    在文件的末尾添加如下内容:(文件位置啥的,不要让我低估在座各位的智商啊)

    #set java environment

    export JAVA_HOME=/usr/local/java/jdk1.8.0_131

    export JRE_HOME=${JAVA_HOME}/jre

    export CLASSPATH=.:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar

    export PATH=${JAVA_HOME}/bin:$PATH

 

    vi 操作简单说明:

    insert键( 或 i 键 ):插入内容

    按下ECS键,输入:qw! 保存退出

    按下ECS键,输入:q!  不保存退出

  5. 让修改的环境变量文件立即生效

    [root@xiaojian java]# source /etc/profile

  6. 验证

    

 

安装Tomcat

这里我们使用在服务器端通过wget命令下载。

送个福利吧,这个网站apache的软件的一些历史版本也可下载,大家按需下载。

http://archive.apache.org/dist/tomcat

1、将Tomcat安装到 /usr/local 目录下

  [root@xiaojian local]# cd /usr/local

2、下载Tomcat版本(选择所需版本地址)

  [root@xiaojian local]# wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-7/v7.0.73/bin/apache-tomcat-7.0.73.tar.gz

  下载可能会有点慢,静候片刻~

3、解压缩下的压缩包

  [root@xiaojian local]# tar -zxvf apache-tomcat-7.0.29.tar.gz

4、删除压缩包

  [root@xiaojian local]# rm -rf apache-tomcat-7.0.29.tar.gz

5、修改Tomcat文件夹的名称为tomcat

  [root@xiaojian local]# mv apache-tomcat-7.0.29 tomcat

6、启动&关闭Tomcat

  [root@xiaojian bin]# ./startup.sh  ( 进入到Tomcat的bin目录中,或者通过全路径来启动 )

  输入netstat -tulnp查看个端口开启情况(tomcat端口8080)

7.打开浏览器,出现如下,说明服务部署成功!

  

 

如果你的服务器时阿里云的,那应该是访问不了,需要配置安全规则,开放8080端口,

   

 

安装Mysql

       就是这个叫 mysql 的家伙什,不知道在我成功的道路上铺了多少荆棘,每次成功上岸都让我遍体鳞伤。从以前做项目,出过异常最多;到我部署网站时,让我不得不让服务器换一个系统。都是这个mysql作的妖。(其实是我版本没控制好,要做项目时老老实实用5.7的版本,完全没鸟事,非得作贱用8.0的了。。。。)

      

       下载地址:https://downloads.mysql.com/archives/community/

       (按项目需求下载,一定要按!!!)

      

 

  1. 上传文件到服务器端(文件有点大,耐心等待)

      

 

  2.在安装之前,我们先把系统自带的mysql数据库给删咯

    查看系统是否已经安装了mysql数据库

        [root@xiaojian /]# rpm -qa | grep mysql

         将查询出来的文件逐个删除(我这里没有)

         yum -y remove filename

  3.解压,删安装包

         [root@xiaojian mysql]# tar -xf mysql-8.0.17-1.el7.x86_64.rpm-bundle.tar

         [root@xiaojian mysql]# rm  mysql-8.0.17-1.el7.x86_64.rpm-bundle.tar

  4. 安装(网上找的,按这个顺序安装,我也不知道,我也不敢问)

    yum install mysql-community-{client,common,devel,embedded,libs,server}-*

    等待~~

  5. 配置

    a)    - 启动mysql服务       service mysqld start;

    关闭MySQL服务      service mysqld stop

    重启mysql服务   service mysqld restart

    -   加入到系统服务中 chkconfig --add mysqld

    -   自动启动        chkconfig mysqld on

         没事就用命令 netstat -tulnp 看看是不是打开了(3306端口)

    b)     登录

    新安装的mysql系统自动随机生成了密码

    grep “password” /var/log/mysqld.log 查看密码

     

    复制

    mysql -uroot -p 回车(一定要回车的) 密码

    c)  设置密码(注意Mysql8密码设置规则必须是大小写字母+特殊符号+数字的类型)

      ALTER user 'root'@'localhost' IDENTIFIED BY 'newPassword';

    修改完,exit退出,再登陆下

    d)     更改语言

    打开my.cnf :vi /etc/my.cnf

    在最后添加如下语句:

    [client]

        port=3306

        default-character-set=utf8

    #regin

       [mysqld]

        port=3306

        character_set_server=utf8

 

远程登录

     远程登录的用户

       1.可以选择创建一个新的用户作为远程登录的用户(因为8.0的设置密码规格太恶心了,不想记,还是直接用下面的root吧)

              ->create user 'MySQLAdmin'@'%' identified by '*******.' ;

              ->grant all on *.* to 'MySQLAdmin'@'%'

              ->flush privileges;(刷新)

       2.使用root用户,简单粗暴

              进入 mysql 数据库

           

              update user set host = ’%’ where user = ’root’;

              ^上一步,主要是将root的登录主机localhost,设置为任意主机%可以登录

              flush privileges(刷新);

     开放端口或关闭防火墙 

  开放3306端口(也就是你mysql的默认端口)

              /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT  #开启3306端口

              /etc/rc.d/init.d/iptables save  #保存配置

              /etc/rc.d/init.d/iptables restart  #重启服务    

       *ps:如果是阿里云的服务器的话,还要配置安全组规则,开放3306端口

 

 我用的mysql第三方登录软件是SQLyog

打开我们电脑的SQLyog,创建一个新的用户,登录(我只演示登录)

 

 

 

 

****PS:此时如果我们用Navicat等第三方应用登录,会提示:

  Authentication plugin 'caching_sha2_password' cannot be loaded

经查看发现,8.0改变了 身份验证插件 ,

解决方式*(密码还是那个规则)

  ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root_Password';

 

 

远程登录成功!!!

 

这时候我们就可以使用我们电脑的mysql可视化工具,远程操作服务器端的数据库了。

我们先导出自己的项目文件 ,sql转储->结构和数据->导出。

远程登录的数据库->执行sql脚本。

 

上传项目文件

项目 -> Export -> war file

上传到 服务器端你的tomcat/webapps/ROOT 下,先将ROOT下的文件全部删除。

解压 jar -xvf filename.war(文件名)

删除 war包 rm filename.war

重新启动一下 tomcat

浏览器输入:远程服务器IP地址:8080/项目名. 访问测试

  * 这里你可以修改 tomcat 的端口号为80,可以不再输入端口号就能访问相应的项目

  tomcat 服务器的基本操作

PS: 如果你的项目中,有文件保存到本地的操作,一定记得,Linux 和 Windows 目录结构是不一样的,Linux 的斜杠是(/),Windows是(\).

  记住斜杠的小窍门:想象你用右手从左边的刀鞘中拔刀,画出来的就是正斜杠(/);反之,是反斜杠。 

PPS:如果到了这里,前面的没毛病,你那里还是出现莫须有的错误,你可以打开 tomcat 下相应日期日志文件查看错误源。

  我上传完项目的时候,就出现了错误,没有查看到正确的日志文件,一直没看到正确的错误地点,幸亏后面高人指点,让我查看了相应日子的日志文件,找到了错误地点。

  这个错误,大家应该都会报的哦,我之所以放到最后讲嘛,是因为,嘿嘿嘿......

 

终极错误:MySQL8.0报错.......which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by 

  具体原因我就不详述了,大家可以自己去查,最直接的解决办法呢就是,在 my.cnf 文件下,加上

    sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

 

至此,我在阿里云上面的项目就部署完成了~

  在此特别感谢这几篇博客给我带来的特大帮助:

    https://www.jianshu.com/p/e12faf7c662c 

    https://blog.csdn.net/weixin_41402352/article/details/84474307

    https://www.linuxidc.com/Linux/2018-12/155819.htm

    https://blog.csdn.net/chrisjingu/article/details/90291445

    https://blog.csdn.net/wujiandao/article/details/100502733

posted @ 2020-01-07 14:28  子ぐ非鱼  阅读(241)  评论(0编辑  收藏  举报