服务器如何安装应用程序,第四节 服务器端应用程序安装

1、友情提示:退路

①备份配置文件

Linux 系统环境下配置文件通常内容很多。如果不小心修改了不该修改的地方,自己有不记得做了修改,那么将来报错很难找到错误位置。

为了避免这样的问题,我们可以在修改任何配置文件之前都多复制一份:把原始、纯净、正确的配置文件执行了备份。将来万一发生问题,拿原始配置文件覆盖错误配置文件,瞬间恢复到正确状态可以重新开始。

②拍摄快照

[1]第一种用法

针对需要通过安装过程来安装的程序,如果安装失败需要卸载后重新安装,那最好是卸载干净再重新执行安装。Linux 环境下不方便执行『清理残留』。

所以为了避免安装失败以后没有退路可以重新开始,建议在执行相关安装之前拍摄快照。一旦发生问题,可以恢复快照重新开始。

[2]第二种用法

对于已经安装好的程序(特别是系统当中安装了很多程序都已成功),强烈建议通过拍摄快照的方式保留这个正确的状态。

[3]操作

保存快照

恢复快照

删除快照

2、安装JDK

①rpm命令

rpm是Redhat package management缩写,实质上来说,通过rpm可以管理Linux环境下的安装包。

参数名

作用

-qa

查询系统中已经安装的程序,通常配合管道,使用grep精确匹配想要查询的包

-ivh

执行rpm包安装操作

-e

卸载rpm包

--nodeps

在卸载过程中忽略依赖关系

注:Linux 系统中命令的参数往往有这样的特点:

参数如果是一个或多个完整的单词那么前面是两个“-”

参数如果是单词的缩写,是一个字母,那么前面是一个“-”

②卸载系统预装的JDK

查询系统中已经安装的JDK

[root@apple ~]# rpm -qa | grep openjdk

java-1.8.0-openjdk-headless-1.8.0.161-2.b14.el7.x86_64

java-1.7.0-openjdk-1.7.0.171-2.6.13.2.el7.x86_64

java-1.8.0-openjdk-1.8.0.161-2.b14.el7.x86_64

java-1.7.0-openjdk-headless-1.7.0.171-2.6.13.2.el7.x86_64

执行卸载,卸载过程中使用--nodeps忽略依赖关系

[root@apple ~]# rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.161-2.b14.el7.x86_64

[root@apple ~]# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.171-2.6.13.2.el7.x86_64

[root@apple ~]# rpm -e --nodeps java-1.8.0-openjdk-1.8.0.161-2.b14.el7.x86_64

[root@apple ~]# rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.171-2.6.13.2.el7.x86_64

重启系统生效

③解压JDK的tar包配置环境变量

[1]解压JDK的tar包

cd /opt

tar -zxvf /opt/jdk-8u121-linux-x64.tar.gz

[2]配置JDK相关环境变量

配置环境变量的配置文件:/etc/profile

为了避免配置错误导致运行失败,提前复制一份/etc/profile

cp /etc/profile /etc/profile.bak

编辑/etc/profile文件

# 声明JAVA_HOME环境变量,等号两边不能有空格

JAVA_HOME=/opt/jdk1.8.0_121

# 在PATH环境变量原有的值基础上附加JDK的path值,$JAVA_HOME是对JAVA_HOME环境变量的引用

PATH=$JAVA_HOME/bin:$PATH

# 将JAVA_HOME和PATH发布为全局变量

export JAVA_HOME PATH

保存退出vim后,使用source命令执行/etc/profile脚本,让脚本中发布的环境变量生效。但是仅限于当前进程,如果想让新环境变量全局生效,可以reboot。

source /etc/profile

验证一下:

[root@apple jdk1.8.0_121]# echo $JAVA_HOME

/opt/jdk1.8.0_121

[root@apple jdk1.8.0_121]# echo $PATH

/opt/jdk1.8.0_121/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

[root@apple jdk1.8.0_121]# java -version

java version "1.8.0_121"

Java(TM) SE Runtime Environment (build 1.8.0_121-b13)

Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)

3、安装Tomcat

①解压

tar -zxvf /opt/apache-tomcat-7.0.75.tar.gz

②操控

启动Tomcat

/opt/apache-tomcat-7.0.75/bin/startup.sh

停止Tomcat

/opt/apache-tomcat-7.0.75/bin/shutdown.sh

查看日志

tail -f /opt/apache-tomcat-7.0.75/logs/catalina.out

部署war包放在webapps目录下

/opt/apache-tomcat-7.0.75/webapps

③访问

4、MySQL安装步骤

①卸载系统预装mariadb

rpm -e --nodeps mariadb-libs-1:5.5.56-2.el7.x86_64

②安装服务器端程序

rpm -ivh /opt/MySQL-server-5.5.52-1.el6.x86_64.rpm

验证

[root@apple opt]# id mysql

uid=988(mysql) gid=982(mysql) 组=982(mysql)

③安装客户端程序

rpm -ivh /opt/MySQL-client-5.5.52-1.el6.x86_64.rpm

④启动MySQL服务

systemctl start mysql.service

⑤设置root用户密码

注意:这里的root用户是MySQL的root用户,不是Linux的root用户

[root@apple opt]# mysqladmin -u root password

New password:

Confirm new password:

⑥登录MySQL

[root@apple opt]# mysql -u root -p

Enter password:

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 2

Server version: 5.5.52 MySQL Community Server (GPL)

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;

+--------------------+

| Database |

+--------------------+

| information_schema |

| mysql |

| performance_schema |

| test |

+--------------------+

4 rows in set (0.00 sec)

⑦客户端登录MySQL服务器

[1]被防火墙拦截的错误提示

通过关闭防火墙服务器解决

systemctl stop firewalld.service

systemctl disable firewalld.service

[2]被MySQL自己拒绝连接

[3]在MySQL服务器端设置允许任何主机地址访问

执行SQL语句

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'atguigu' WITH GRANT OPTION;

重启MySQL服务

[root@apple opt]# mysql -u root -p

Enter password:

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 5

Server version: 5.5.52 MySQL Community Server (GPL)

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

mysql> use mysql;

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

Database changed

mysql> select host,user,password from user;

+-----------+------+-------------------------------------------+

| host | user | password |

+-----------+------+-------------------------------------------+

| localhost | root | *453FDE92DF58E2DE1A51D27869CF3F1A69984B1B |

| apple | root | |

| 127.0.0.1 | root | |

| ::1 | root | |

| localhost | | |

| apple | | |

+-----------+------+-------------------------------------------+

6 rows in set (0.01 sec)

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'atguigu' WITH GRANT OPTION;

Query OK, 0 rows affected (0.00 sec)

mysql> select host,user,password,select_priv,update_priv from user;

+-----------+------+-------------------------------------------+-------------+-------------+

| host | user | password | select_priv | update_priv |

+-----------+------+-------------------------------------------+-------------+-------------+

| localhost | root | *453FDE92DF58E2DE1A51D27869CF3F1A69984B1B | Y | Y |

| apple | root | | Y | Y |

| 127.0.0.1 | root | | Y | Y |

| ::1 | root | | Y | Y |

| localhost | | | N | N |

| apple | | | N | N |

| % | root | *453FDE92DF58E2DE1A51D27869CF3F1A69984B1B | Y | Y |

+-----------+------+-------------------------------------------+-------------+-------------+

7 rows in set (0.00 sec)

重启MySQL服务

systemctl restart mysql.service

⑧解决字符乱码问题

[1]查看字符相关变量

mysql> show variables like "%char%";

+--------------------------+----------------------------+

| Variable_name | Value |

+--------------------------+----------------------------+

| character_set_client | utf8 |

| character_set_connection | utf8 |

| character_set_database | latin1 |

| character_set_filesystem | binary |

| character_set_results | utf8 |

| character_set_server | latin1 |

| character_set_system | utf8 |

| character_sets_dir | /usr/share/mysql/charsets/ |

+--------------------------+----------------------------+

8 rows in set (0.00 sec)

[2]准备MySQL配置文件

cp /usr/share/mysql/my-small.cnf /etc/my.cnf

[mysqld]

port = 3306

socket = /var/lib/mysql/mysql.sock

skip-external-locking

key_buffer_size = 16K

max_allowed_packet = 1M

table_open_cache = 4

sort_buffer_size = 64K

read_buffer_size = 256K

read_rnd_buffer_size = 256K

net_buffer_length = 2K

thread_stack = 128K

character-set-server=utf8

在[mysqld]部分的配置的最后添加character-set-server=utf8

重启MySQL服务

systemctl restart mysql.service

查看字符集相关变量

mysql> show variables like "%char%";

+--------------------------+----------------------------+

| Variable_name | Value |

+--------------------------+----------------------------+

| character_set_client | utf8 |

| character_set_connection | utf8 |

| character_set_database | utf8 |

| character_set_filesystem | binary |

| character_set_results | utf8 |

| character_set_server | utf8 |

| character_set_system | utf8 |

| character_sets_dir | /usr/share/mysql/charsets/ |

+--------------------------+----------------------------+

8 rows in set (0.00 sec)

重新创建数据库、创建数据库表、插入中文字符数据验证。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/475000.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

设置 NSZombieEnabled 定位 EXC_BAD_ACCESS 错误

http://unmi.cc/nszombieenabled-locate-exc_bad_access-error, 来自 隔叶黄莺 Unmi Blog 我们做 iOS 程序开发时经常用遇到 EXC_BAD_ACCESS 错误导致 Crash,出现这种错误时一般 Xcode 不会给我们太多的信息来定位错误来源,只是在应用 Delegate 上留下像…

LeetCode 785. 判断二分图(染色法)

文章目录1. 题目2. 解题1. 题目 给定一个无向图graph,当这个图为二分图时返回true。 如果我们能将一个图的节点集合分割成两个独立的子集A和B,并使图中的每一条边的两个节点一个来自A集合,一个来自B集合,我们就将这个图称为二分…

css检测,CSS检测工具 CSS Lint简介

Nicholas C. Zakas最近发布了CSS Lint,旨在检测CSS代码中存在的各种问题,从而写出更高效的CSS。CSS Lint现有的一些规则:修复解析错误(Parsing errors should be fixed)避免使用多类选择符(Dont use adjoining classes)IE6以及更古老的浏览器…

c++之菱形继承

前天和大学室友吃烧烤,其中谈到菱形继承的问题,突然发现脑中对这个几乎空白,所以晚上回来就上网搜了搜,言归正传,说到菱形继承,就要说到虚继承的概念,对于虚继承,就是为了解决从不同…

LeetCode 1506. Find Root of N-Ary Tree(异或)

文章目录1. 题目2. 解题1. 题目 Given all the nodes of an N-ary tree as an array Node[] tree where each node has a unique value. Find and return the root of the N-ary tree. Follow up: Could you solve this problem in constant space complexity with a linea…

客户端与服务器之间的文件传输,客户端与服务器的文件传输

客户端与服务器的文件传输 内容精选换一换使用FTP上传文件时,写入失败,文件传输失败。该文档适用于Windows系统上的FTP服务。FTP服务端在NAT环境下,客户端需使用被动模式连接服务端。在这种情况下,服务端的IP地址无法从路由器外部…

LeetCode 280. 摆动排序

文章目录1. 题目2. 解题1. 题目 给你一个无序的数组 nums, 将该数字 原地 重排后使得 nums[0] < nums[1] > nums[2] < nums[3]...。 示例: 输入: nums [3,5,2,1,6,4] 输出: 一个可能的解答是 [3,5,1,6,2,4]来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 链…

复制文本框内容至剪贴板

1 <body> 2 <form id"form1" runat"server"> 3 <div> 4 <textarea id"txtArea" cols"30" rows"3">我是一个文本&#xff0c;Hello World&#xff01;</textarea><br />…

js动态添加控件服务器响应,JS实现动态给标签控件添加事件的方法示例

本文实例讲述了JS实现动态给标签控件添加事件的方法。分享给大家供大家参考&#xff0c;具体如下&#xff1a;/p>"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">function set() {var obj document.getElementById("fy");//obj.attach…

LeetCode 683. K 个空花盆(set/滑动窗口)

文章目录1. 题目2. 解题2.1 set 有序2.2 滑动窗口1. 题目 花园里有 N 个花盆&#xff0c;每个花盆里都有一朵花。 这 N 朵花会在 N 天内依次开放&#xff0c;每天有且仅有一朵花会开放并且会一直盛开下去。 给定一个数组 flowers 包含从 1 到 N 的数字&#xff0c;每个数字表…

(转)一步一步Asp.Net MVC系列_权限管理设计起始篇

原文地址&#xff1a;http://www.cnblogs.com/mysweet/archive/2012/07/26/2610793.html前一段时间,写了一步一步asp.net的一系列博客,最近,也快要大四,忙着准备找个工作,这也算是最后一个假期了,这个系列可能不太长,尽量写完.还是多学习,少扯淡的风格,我们的学习还好继续,现在…

无盘服务器 机械盘,Win7启动速度研究,同样的PC配置,机械盘、固态盘、无盘网络启动速度为何不同?...

别装深沉了&#xff0c;赶快来凑凑热闹吧&#xff01;您需要 登录 才可以下载或查看&#xff0c;没有帐号&#xff1f;立即注册x一、环境&#xff1a;一台台式机(映泰B85、i5-4590、16G内存、三星、Intel固态盘、Realtek网卡)&#xff1b;一台笔记本(T440P、8G内存、三星、Inte…

LeetCode 681. 最近时刻

文章目录1. 题目2. 解题1. 题目 给定一个形如 “HH:MM” 表示的时刻&#xff0c;利用当前出现过的数字构造下一个距离当前时间最近的时刻。每个出现数字都可以被无限次使用。 你可以认为给定的字符串一定是合法的。 例如&#xff0c;“01:34” 和 “12:09” 是合法的&#xf…

指针和对象

使用对象指针时&#xff0c;需要注意几点&#xff1a; 使用常规表示法来声明指向对象的指针&#xff1a; String *glamour&#xff1b; 可以将指针初始化为指向已有的对像&#xff1a; String *first&saying[0]&#xff1b; 可以使用new来初始化指针&#xff1a; String…

最右显示请求服务器不存在,修改合流任务_实时音视频 RTC_服务端API参考_合流任务管理_华为云...

响应示例状态码&#xff1a; 200修改成功{"jobs" : [ {"job_id" : "607824b4fa163e19fe301cc817dda855","job_unique_id" : "707e5bfb1ccf4eef","stream_name" : "m_607824b4fa163e19fe301cc817dda855_gigu&…

[Hands On ML] 5. 支持向量机

文章目录1. 线性支持向量机分类2. 非线性支持向量机分类2.1 多项式核2.2 高斯 RBF 核3. 支持向量机回归4. 原理本文为《机器学习实战&#xff1a;基于Scikit-Learn和TensorFlow》的读书笔记。 中文翻译参考 SVM 特别适合应用于复杂但中小规模数据集的分类问题。 可参考&#…

网络流sap需要注意的地方

int sap(){memset(level, 0, sizeof level);memset(gap, 0, sizeof gap);memset(cur, 0, sizeof cur);int u pre[s] s;int aug inf;gap[s] n;这个要使源点gap值为点个数int v;int flow 0;while(level[s] < n){for(v cur[u]; v < n; v ){if(c[u][v] > 0 &&am…

LeetCode 340. 至多包含 K 个不同字符的最长子串(滑动窗口)

文章目录1. 题目2. 解题1. 题目 给定一个字符串 s &#xff0c;找出 至多 包含 k 个不同字符的最长子串 T。 示例 1: 输入: s "eceba", k 2 输出: 3 解释: 则 T 为 "ece"&#xff0c;所以长度为 3。示例 2: 输入: s "aa", k 1 输出: 2 解释…

麦森数(转)

1 //形如2n-1的素数称为麦森数&#xff0c;这时n一定也是个素数。但反过来不一定&#xff0c;即如果n是个素数。2n-1不一定也是素数。2 3 #include<iostream>4 #include<cmath>5 #include<cstdio>6 #include<cstring>7 #define N 1268 using name…

LeetCode 616. 给字符串添加加粗标签(Trie树)

文章目录1. 题目2. 解题1. 题目 给一个字符串 s 和一个字符串列表 dict &#xff0c;你需要将在字符串列表中出现过的 s 的子串添加加粗闭合标签 <b> 和 </b> 。 如果两个子串有重叠部分&#xff0c;你需要把它们一起用一个闭合标签包围起来。 同理&#xff0c;如…