datalist获取id传到下一个页面_linux下部署tomcat网站

linux配置、部署tomcat网站总流程

本流程使用securecrt8.1进行远程服务器连接,secureCRT使用细节本文不做讲解,有兴趣的朋友可以上网搜索相关教程。

注: xxx用于描述本人自定义名称,不是固定字符。

Linux系统:centos6.4

Jdk:8.x

Tomcat:8.x

Nginx:1.9.x

1. linux下安装nginx

在安装nginx前首先要确认系统中安装了gcc、pcre-devel、zlib-devel、openssl-devel

安装gcc、pcre-devel、zlib-devel、openssl-devel的命令如下:

yum -y install gcc pcre-devel zlib-devel openssl openssl-devel

nginx下载地址:https://nginx.org/download/ 

我们下载nginx的linux版本后,通过secureCRT将压缩文件上传到linux(打开secureCRT,连接服务器,在终端里按下alt+p,打开sftp窗口,将文件拖拽到sftp窗口中,松开鼠标即可上传)

e5296001cf2e7ff1da49545d54f0a03e.png

07ea845d797e6400d7cf75bde88aa7d2.png

上传到linux服务器之后,看自己需求存放某个位置,例如:

mv -i /root/nginx-1.9.9.tar.gz  /usr/local/

解压文件并完成3个步骤:配置(configure)、编译(make)、安装(makeinstall)

进入解压目录:cd nginx-1.9.9

配置

./configure --prefix=/usr/local/nginx

编译

make

安装

make install

这几个命令执行完成后,进入到刚才配置的安装目录/usr/loca/nginx/

ab237fac8667dba177182e6aea959b82.png

执行命令./sbin/nginx -t

58f2de83ed44f2adaa38d587be9c2b16.png

如上图,表示安装nginx成功

进入刚才的安装目录下的启动目录

cd /usr/local/nginx/sbin

./nginx// 启动nginx

浏览器输入你的服务器地址,直接访问,效果如下,说明nginx启动成功

2448280228006406c03dea7e2d49f90e.png

使用命令Vim /etc/rc.d/rc.local 打开rc.local文件,加入启动nginx的脚本

/usr/local/nginx/sbin/nginx

dba7eda71ecb84668f767b455ebf40d1.png

2. Linux下安装jdktomcat

这里我选用的是jdk1.8、tomcat8.x的.tar.gz版本,进行手动安装。(可选择自动安装,例如yum,具体操作,可自行网上查询)

首先上传到linux服务器中

6cd7c50eff10d4199494cf102a55c6c3.png

2.1 手动jdk

上传到linux中后,rm移动文件到自己指定目录,进入该目录并解压

Cd  xxx

Tar -zxvf    xxx

解压完成后需要配置环境变量

Vim /etc/profile文件

在文件末尾加入:

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

export PATH=$JAVA_HOME/bin:$PATH

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

保存并退出。

使用命令立即刷新配置,使profile生效

source /etc/profile

输入java -version验证是否成功安装jdk. 

java -version

java version "1.8.0_271"

Java(TM) SE Runtime Environment (build 1.8.0_271-b09)

Java HotSpot(TM) 64-Bit Server VM (build 25.271-b09, mixed mode)

2.2 手动安装tomcat

上传到linux中后,rm移动文件到自己指定目录,进入该目录并解压

Cd  xxx

Tar -zxvf    xxx

650638e936409b80c800d681ca2235e7.png

下载tomcat的时候,如果你也像我一样,想手动安装tomcat,注意要下载上面的这个包,下面的source包会缺少一些东西,后续会导致无法启动或者关闭的问题。

下错包这种问题,说大不大,但有时候出了错了,却特别难找问题。所以大家还是要多加注意。

再提醒一点,我用的阿里云服务器。如果你也使用了,并且安装tomcat,需要注意的是,端口问题。

1. 端口是否配置了安全组

2. 是否启动了linux防火墙,如果启动防火墙,还需要配置下防火墙端口开启的问题。

3. 安装mysql5.6

3.1下载mysql

13b562205b95965a8af0b370000a4a09.png

0c8a7ba91a44d58fc6bb3d770ffdddb1.png

bd828ea3133c2de7bf83554dae81520e.png

点击下图中的红框,可以选择之前版本的安装包

7379b7026d7f3e0fe02451cea9b9d717.png

a25230b4c4d98b5d3b0d8ce60793a55f.png

82cfb15b1eba27003778fe5d1638dc82.png

至此下载完成。

3.2 安装mysql

3.2.1 mysql卸载流程

先查看mysql是否启动,查看命令如下:

ps -ef | grep mysql

如果启动,停止mysql进程:

cd 到mysql的安装目录bin文件夹,或者直接路径加执行程序

未设置密码 /usr/local/mysql/bin/mysqladmin shutdown

已设置密码 /usr/local/mysql/bin/mysqladmin -uroot -p shutdown输入密码,即可关闭mysql进程

注: 我这里是直接关闭程序,不同的版本、不同的安装方式,都有可能关闭启动程序的方式是不一样的。这里是我本地使用的方式,仅供参考。

找出原有目录、文件(my.cnf)、文件库并删除

whereis mysql

我这里只找到

mysql: /usr/local/mysql

rm -rf /usr/local/mysql#(安装目录)

还有原先安装的库文件所在目录

rm -rf /data/mysql#(库文件目录)

删除my.cnf文件

rm -rf /etc/my.cnf #(配置目录)

72f39b16e15c42e5133b5d1ca98141da.png

(注: 图中没有删除data目录,是因为我之前已经删除,忘记截图了。。请注意)

一般情况下,已经删除干净了。~~~

3.2.1 mysql正式安装流程

安装详情可以参照下方链接的方式

https://blog.csdn.net/rookie23rook/article/details/107926894

我本人也是通过这种方式安装的,亲测可用

1. 环境

yum remove -y  mariadb-libs

yum install -y cmake  

yum install gcc gcc-c++ -y

这是一些底层软件、插件之类的,我就不再追求自定义了,直接使用yum安装。

注(yum指linux系统自带的,自动更新组件安装系统)

2. 创建mysql用户

useradd -s /sbin/nologin -M -r mysql

useradd命令用来建立用户帐号和创建用户的起始目录,使用权限是终极用户

-s:表示指定用户登入后所使用的shell

 /sbin/nologin 表示不登录

-M:表示不要自动建立用户的登入目录

-r:建立系统账号

不指定-g (用户组),表示会直接创建mysql用户组,并创建用户mysql,mysql用户的主组为mysql组。

主要参数-c:加上备注文字,备注文字保存在passwd的备注栏中。 -d:指定用户登入时的启始目录。-D:变更预设值。-e:指定账号的有效期限,缺省表示永久有效。-f:指定在密码过期后多少天即关闭该账号。-g:指定用户所属的起始群组。-G:指定用户所属的附加群组。-m:自动建立用户的登入目录。-M:不要自动建立用户的登入目录。-n:取消建立以用户名称为名的群组。-r:建立系统账号。-s:指定用户登入后所使用的shell。-u:指定用户ID号。

3. 创建目录并授权

mkdir -p  /data/mysql

chown mysql.mysql  /data/mysql/  -R

4. 解压到指定目录,预编译

tar -zxvf mysql-5.6.50.tar.gz

mv mysql-5.6.50 mysql

cd mysql

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql    -DMYSQL_DATADIR=/data/mysql  -DDEFAULT_CHARSET=utf8  -DDEFAULT_COLLATION=utf8_general_ci  -DENABLED_LOCAL_INFILE=1

注意红色部分,这里我改名mysql-5.6.50为mysql,进入mysql目录再使用预编译命令,红色的mysql表示是同一个意思,如果有改动需同时做修改。

5. 预编译成功,则编译并安装

make && make install

6.初始化

/usr/local/mysql/scripts/mysql_install_db --user=mysql  --datadir=/data/mysql --basedir=/usr/local/mysql

安装完mysql server时,一般要执行mysql_install_db这个脚本对数据库初始化。

其中--user为mysqld服务的运行用户,--basedir和--datadir则分别代表mysql的安装目录和数据存放目录。运行这个脚本,会初始化mysql的data目录,并且创建那些系统表。同样也会初始化系统表空间并且关联innodb表与数据结构.

5.7.6以后的版本,该脚本也将被移除。

结果爆出提示信息,表示没有权限

-bash: /usr/local/mysql/scripts/mysql_install_db: Permission denied

进入.../scripts目录,执行以下命令,然后再次执行初始化脚本mysql_install_db进行初始化。

chmod +x mysql_install_db

注:chmod +x表示授予执行权限

7. 创建配置文件并启动服务

cd /usr/local/mysql/

cp support-files/my-default.cnf /etc/my.cnf

686755ae791fa6137745fa1f65ac4165.png

配置文件如何配置这里不再解释,有兴趣的朋友可以上网查找。

启动mysql命令如下:

./bin/mysqld_safe &

889a243b82d60ee35116480c0ed3a732.png

修改密码这里不再细说,有需要的朋友可自行百度。

启动命令:

./bin/mysqld_safe &

查看是否启动命令:

ps -ef|grep mysql

登录命令:

./bin/mysql -uroot -p

关闭命令:

设置密码以及没有设置密码会有所不同

d83c341afc6d1d1dc8def895f57a1af7.png

注:启动mysqld_safe &

登录mysql

            关闭mysqladmin

8. 配置mysql为服务

配置成服务,可以在任何目录,用简短的方式启动关闭mysql程序,不需要到指定目录去启动关闭。

cp support-files/mysql.server /etc/init.d/mysql#复制到系统开机启动初始化目录

chkconfgi --add mysql#配置成服务并开机自启动

service mysql start#启动mysql服务,如果启动失败,则进行授权

chmod a+wrx /etc/init.d/mysql

再使用如下命令,可正确执行了。

service mysql start

service mysql stop

service mysql status

9.配置软链

如果现在我直接 mysql -uroot -p 会报未找到mysql

-bash: mysql: command not found

类似window中未配置path,所以不能在任意目录下调用非系统自带的程序。因此,如果想后续方便使用mysql登录以及其他操作,还是需要配置软链。

ln -s /usr/local/mysql/bin/mysql  /usr/local/bin/mysql

ln -s /usr/local/mysql/bin/mysqldump /usr/local/bin/mysqldump

这里配置了mysql、mysqldump

注: 启动关闭mysql可以使用service命令

至此,已经成功配置了部署环境。

4. 将本地数据库、代码部署到linux

4.1 导出导入数据库

在window cmd下任意目录

mysqldump -uroot -p xxxx> xxxx .sql

将文件丢到linux中

在linux下进入数据库并导入创建数据库导入数据

   mysql -uroot -p

 enter password: xxxxx

   create database xxxx;

mysql>use xxxx;

mysql>set names utf8;

mysql>source /root/xxxx.sql;

数据库导入成功。

4.2 部署程序到tomcat

使用nginx,修改nginx配置文件,将80端口映射到tomcat的启动端口,其他设置暂时不做修改。

90f1c9e169fb9ac7bddf14008892ed66.png

将我本地的vue工程打包放linux的tomcat下,发现页面一片空白,打开控制台,原来是/static下的文件没有找到,路径前没有项目名称,我干脆将vue的打包文件放webapps/ROOT下。再次访问,页面能打开并渲染,但是获取后台数据部分还是有问题。

为什么后台没有获取到数据?

为什么tomcat默认首页是可以访问的啊?说明/ROOT项目是可以请求的,使用80端口,还是可以请求到tomcat的默认首页,说明nginx配置也是可以的。是静态文件没问题,动态的有问题所以导致/ROOT项目可以正常请求而动态网站不行?是linux权限问题?数据库链接问题?整的自己像无头苍蝇似的,各种百度。。。

后来想到,新建webapps/xxx目录,放一个index.html文件,看能不能访问,结果是可以的。说明不是权限问题。按理说动态文件静态文件没什么区别吧?再后来又找到个命令,说可以实时查看tomcat运行日志,结果每次打开都是一样的,似乎也没有链接进来。再后开,关闭了tomcat再启动,再查看日志,终于看出一些问题了。tomcat启动上传的项目失败了。。。

tail -n200 -f /usr/local/tomcat/logs/catalina.out

上面的命令,可实时查看tomcat运行日志的最后200行 。

发现问题后,一通百度,终于又一模一样的问题出现了。。。

异常如下:

Caused by: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty

说有可能是jdk的问题,没有对ssl支持相关证书包。我下载的是openjdk的jdk包。jdk的lib目录如下

dba888816f0efd2ea1701519d06f68f2.png

而后来重新下载了oracle的jdk包的lib目录如下:

0492883de28db3358664a6b7a9c612d5.png

原先的lib目录确实少了些东西,后面又再次启动tomcat,发现请求进入了tomcat,终于看到变化的tomcat控制台信息了,当还是报错,报mysql的数据库链接异常。这问题就小意思了,安心~~

~~~~~~又找了大半个钟头,原来我把密码账号写反了,导致程序报数据库链接异常23333333333.最后验证了下,确实大功告成。哈哈哈哈哈

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值