阿里云-网站部署,服务器环境配置(保姆级别)

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

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

我这里个软件使用到的版本(主要还是控制大版本的变更,例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.安装vsf

[root@admin]# yum -y install vsftpd

2.编辑vsftpd的配置文件

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

清空内容(你可以使用: echo “” > 需要清空内容的文件名;如:echo “” > /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_lis

3.创建管理账户文件

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

4.启动vsftpd服务

[root@xiaojian /]# service vsftpd start

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

阿里云-网站部署,服务器环境配置(保姆级别)_第1张图片
端口空着
阿里云-网站部署,服务器环境配置(保姆级别)_第2张图片
往服务器端上传准备好的文件

安装配置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环境变量

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

在文件的末尾添加如下内容:(注意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命令下载。大家可以在这个网址中寻找你想要的版本

http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat

网址的格式不变,路径根据所需版本修改;比如我要下载:tomcat 9.0.14
路径:

wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.14/bin/apache-tomcat-9.0.14.tar.gz

当然你也可以直接下载好安装包传输到linux上进行安装,流程是一样的。这个网站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-9/v9.0.14/bin/apache-tomcat-9.0.14.tar.gz

** 2.1 如果在这里出现一个错误

-bash:wget:command not found

是因为系统缺少了这个命令,你可以使用以下方法进行安装(还是有问题的,可以百度一下这个错误,或者选用安装包的方式安装tomcat)

yum -y install wget

3、解压缩下的压缩包

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

4、删除压缩包

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

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

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

6、进入tomcat/bin文件夹,启动&关闭Tomcat

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

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

7.打开浏览器,输入你的服务器地址,出现tomcat首页页面,说明服务部署成功

ps:如果你的服务器时阿里云的,那应该是访问不了,需要配置安全规则,开放8080端口,
阿里云-网站部署,服务器环境配置(保姆级别)_第3张图片
pps:如果你的服务器是天翼云的,就算配置了安全规则,开发了8080端口,也是访问不到的,因为天翼云的几个常用端口:80,8080,443,8443,都是需要备案后才能使用的,所以你这里可以修改下tomcat的端口号,并开放这个端口号。主要用来测试嘛,修改下还是很有必要的,日后备案后也可以修改回来嘛。
怎么修改?

  1. 在 tomcat/config目录下,vi server.xml
[root@wrkq1njujislh7mx conf]# vi server.xml
  1. 在文本中找到
    -->
    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
    <!-- A "Connector" using the shared thread pool-->
    ...

将8080修改成你想要的端口号,比如8888,那么你的天翼云也要开放8888端口号。


安装Mysql

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

下载地址:https://downloads.mysql.com/archives/community/
(按项目需求下载,linux系统版本也要对应上,一定要啊!!!)
阿里云-网站部署,服务器环境配置(保姆级别)_第4张图片

1.ftp上传文件到服务器端的 /usr/local/mysql目录下(文件有点大,耐心等待)

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}-*

等待~~(期间提示是否下载某个文件,输入 y)

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的设置密码规格太恶心了,不想记,还是直接用下面第2中的的root吧)
->create user 'MySQLAdmin'@'%' identified by '*******.';
->grant all on *.* to 'MySQLAdmin'@'%'
->flush privileges;(刷新)
  1. 使用root用户,简单粗暴
    使用刚修改的密码进入数据库
    使用语句 use mysql;
    进入数据库名为 mysql 的数据库
    阿里云-网站部署,服务器环境配置(保姆级别)_第5张图片
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,创建一个新的用户,登录(我只演示登录)
阿里云-网站部署,服务器环境配置(保姆级别)_第6张图片
阿里云-网站部署,服务器环境配置(保姆级别)_第7张图片

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

 Authentication plugin ‘caching_sha2_password’ cannot be loaded

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

解决方式,进入数据库,运行下面语句*(密码还是遵循8.0的规则)

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

阿里云-网站部署,服务器环境配置(保姆级别)_第8张图片

远程登录成功!!!

这时候我们就可以使用我们电脑的mysql可视化工具,远程操作服务器端的数据库了;
我们先导出自己的项目文件 ,sql转储->结构和数据->导出;
远程登录的数据库->执行sql脚本。


上传项目文件

1.项目 -> Export -> war file

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

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

4.删除 war包 rm filename.war

5.重新启动一下 tomcat

6.浏览器输入:远程服务器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

你可能感兴趣的:(站长,Linux,java,linux,服务器,mysql,centos)