赞
踩
把需要的软件压缩包下载到linux主机,在主机上直接解压启动即可完成本地安装,即绿色版安装
把需要的rpm软件包下载到linux主机,在主机上使用rpm命令完成本地安装
把需要的源码包下载到linux主机,在主机上执行tar,./configure,make install 命令完成源码安装
linux软件都是用C/C++程序开发,所谓源码安装,是直接提供程序源代码,需要自行编译,然后生成目标可执行程序。类似提供的.java文件,需要自己编译.class,然后打包为jar,然后运行。源代码形式的特点:操作复杂、编译时间长、极易出现问题、依赖关系复杂,比较适合于专门做linux系统开发的人员。
绝大多数开源软件都是直接以原码形式发布的
源代码一般会被打成.tar.gz的归档压缩文件
源代码需要编译成为二进制形式之后才能够运行使用
源代码基本编译流程:
1).configure 检查编译环境;
2)make对源代码进行编译;
3)make insall 将生成的可执行文件安装到当前计算机中
RPM 是 LINUX 下的一种软件的可执行程序,你只要安装它就可以了。这种软件安装包通常是一个RPM包(Redhat Linux Packet Manager,就是Redhat的包管理器),后缀是.rpm。RPM是Red Hat公司随Redhat Linux推出了一个软件包管理器,通过它能够更加轻松容易地实现软件的安装。
安装软件:执行rpm -ivh rpm包名,如:rpm -ivh apache-1.3.6.i386.rpm
升级软件: 执行rpm -Uvh rpm包名。
卸载安装: 执行rpm -e rpm包名。
查询软件包的详细信息:执行rpm -qpi rpm包名
查询某个文件是属于那个rpm包的:执行rpm -qf rpm包名
查该软件包会向系统里面写入哪些文件:执行 rpm -qpl rpm包名
一般使用步骤如下:
rpm –i software.rpm(安装);
rpm -e software.rpm(卸载);
rpm –U software.rpm(升级形式安装);
rpm –ivh http://www.linuxcast.net/software.rpm(支持通过http\ftp协议形式安装)
rpm软件包形式的管理虽然方便,但是需要手工解决软件包的依赖关系。很多时候安装一个软件安装一个软件需要安装1个或者多个其他软件,手动解决时,很复杂,yum可以轻松解决这些问题。
yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的软件包管理器,简单理解Yum是rpm的前端程序。它能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
yum仓库用来存放所有的现有的.rpm包,当使用yum安装一个rpm包时,需要依赖关系,会自动在仓库中查找依赖软件并安装。仓库可以是本地的,也可以是HTTP、FTP、nfs形式使用的集中地、统一的网络仓库。
其特点总结如下:
1) 自动解决依赖关系
2) 可以对rpm进行分组,基于组进行安装操作
3) 引入仓库概念,支持多个仓库
4) 配置简单
常规使用如下:
# yum install 安装;
# yum remove卸载;
# yum update 升级制定软件
部署环境(CentOS 7)
服务/软件 | 端口 | 备注 |
jdk8 | - | JAVA的编译和运行环境 |
mysql/mariadb | 3306 | 持久化关系型数据库 |
tomcat | 8080 | 服务器 |
nginx | 80 | 反向代理服务器 |
把拖拽软件中的所有软件拖拽到linux的 /opt目录中。
scp 上传
- #scp 源码文件路径 目标文件路径
- # 把本地文件上传到服务器 (当前Windows系统目录)
- scp ./*.* root@192.168.200.130:~/soft
- # 把远程服务器用户目录/soft下所有文件,下载到本地
- scp root@192.168.200.130:~/soft/*.* ./
1)查看当前linux系统是否已经安装java
输入 rpm -qa | grep java
如果有已经安装的jdk ,需要使用以下命令删除
2) 卸载JDK
rpm -e --nodeps <包的名字>
3) 上传jdk到linux
4)安装jdk
rpm -ivh jdk-8u181-linux-x64.rpm
5)java -version测试是否成功
java -version
展示以下内容代表OK
- java version "1.8.0_181"
- Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
- Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)
MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB(英语:XtraDB)来代替MySQL的InnoDB
1)查看CentOS自带的mysql
输入 rpm -qa | grep mysql
2)将自带的mysql卸载
rpm -e --nodeps <包的名字>
3)yum安装
yum -y install mariadb-server
4)启动mysql
systemctl start mariadb
5)设置root密码
注:这只是设置root用户在本机(linux)登录时的密码
mysqladmin -u root password 'root'
6)进入mysql
mysql -u root -p
- mysql -u root -p
- 输入了 root 看不到
进入到数据库的执行命令行里面了。
7)进入mysql,并执行下面sql
保证密码和本地一致
下面的话在mysql数据库里面里面执行
- -- 查看当前的数据库
- show databases;
- -- 打开mysql
- use mysql ;
- -- 查看所有表
- show tables;
-
- -- 我们不用ipv6的地址,直接把host改为%,表示所有客户端都可以连接;同时设置密码为root
- update user set host='%' ,password=password("root") where user='root' and host = '::1' ;
- -- 刷新后才能生效
- flush privileges;
退出数据库命令操作
exit;
8) 开放端口号
- # 开放端口命令
- firewall-cmd --zone=public --add-port=3306/tcp --permanent
- #重新加载配置
- firewall-cmd --reload
9) 客户端工具
cd /usr/local 下
项目部署需要tomcat , 配置端口号。
下面需要使用uzip命令(根据当前系统情况而定,不是必须),先安装
- cd /usr/local
- #获取安装列表
- yum list | grep zip/unzip
- #提示输入时,请输入y
- yum install zip
-
- #提示输入时,请输入y
- yum install unzip
解压tomcat压缩包到 /local目录下
unzip -d /usr/local apache-tomcat-8.5.47.zip
启动apache-tomcat-8.5.47
- #确保启动文件有可执行权限,先修改权限
- chmod 755 /usr/local/apache-tomcat-8.5.47/bin/*.sh
- #启动
- /usr/local/apache-tomcat-8.5.47/bin/startup.sh
开放8080端口
- # 开端口命令
- firewall-cmd --zone=public --add-port=8080/tcp --permanent
- #重新加载配置
- firewall-cmd --reload
测试tomcat
启动两以上个tomcat,需要配置端口
Nginx* (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日,2011年6月1日,nginx 1.0.4发布。
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
安装前准备
- #安装Nginx依赖环境,-y表示所有提示默认选择y
- #nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库:
- yum -y install pcre pcre-devel
- #nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库:
- yum -y install zlib zlib-devel
- #nginx不仅支持http协议,还支持https,所以需要在linux安装openssl库:
- yum -y install openssl openssl-devel
- # 安装gcc编译环境
- yum -y install gcc gcc-c++ autoconf automake make
源码安装
- cd /opt
- #解压,并进入解压文件夹
- tar -xvf nginx-1.14.2.tar.gz
- cd /opt/nginx-1.14.2
- #编译并安装配置
- ./configure 配置
- make 编译
- # 安装的意思,就是把可执行文件复制到/usr/loca/nginx下
- make install 安装
安装成功之后,就会在/usr/local下多出了一个nginx目录.
使用Nginx
- #进入nginx的sbin目录
- cd /usr/local/nginx/sbin
-
- #在sbin目录下启动
- ./nginx
#在sbin目录下停止----需要再用
./nginx -s stop
#在sbin目录下重写加载--需要再用
./nginx -s reload
#修改端口(默认端口80)---需要再用
vi /usr/local/nginx/conf/nginx.conf 配置文件
#开放80端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
#重新加载配置
firewall-cmd --reload
#查看是否有nginx的线程是否存在
ps -ef | grep nginx netstat -an -t -u | grep 80
在浏览器输入:http://192.168.132.131/
部署之前的综合案例,部署前先把数据库安装好,然后再把项目的war包copy到tomcat安装目录即可。
msyql客户端工具连接VM中的mysql
在客户端工具中初始化数据库脚本
使用IDEA打包web程序为.war文件
停止当前的tomat服务器,执行bin/shutdown.sh
找到 apache-tomcat-8.5.47 --webapps 的ROOT目录,改名为ROOT-bak
把项目war包copy到apache-tomcat-8.5.47目录的webapps目录下
把项目 改名 为ROOT.war名字
启动Tomcat服务器,执行bin/startup.sh
jdbc.properties如果需要使用vim打开并修改。
在windows浏览器输入网址,并测试是否显示正常
如果显示不正常,请查看日志:
tail -f catalina.2021-05-16.log
正向代理类似一个中转站,代理内部访问外部资源。
举个例子:
我是一个用户,我访问不了某网站,但是我能访问一个代理服务器,这个代理服务器呢,它能访问那个我不能访问的网站,于是我先连上代理服务器,告诉他我需要那个无法访问网站的内容,代理服务器去取回来,然后返回给我。从那个网站的角度来看,只在代理服务器来取内容的时候有一次记录,有时候并不知道是用户的请求,也隐藏了用户的资料,这取决于代理告不告诉网站。
注意:客户端必须设置正向代理服务器,当然前提是要知道正向代理服务器的IP地址,还有代理程序的端口。
总结来说:正向代理 是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。
正向代理的用途:
- 1. 访问原来无法访问的资源,如google
- 2. 可以做缓存,加速访问资源
- 3. 对客户端访问授权,上网进行认证
- 4. 代理可以记录用户访问记录(上网行为管理),对外隐藏用户信息
反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。反向代理的作用
保证内网的安全,可以使用反向代理提供防火墙(WAF)功能,阻止web攻击。大型网站,通常将反向代理作为公网访问地址,Web服务器是内网。
负载均衡,通过反向代理服务器来优化网站的负载。当大量客户端请求代理服务器时,反向代理可以集中分发不同用户请求给不同的weab服务器进行处理请求。(本阶段不实现,负载均衡技术项目阶段讲解)
打开nginx默认配置文件
vi /usr/local/nginx/conf/nginx.conf
定义location
- http{
- upstream goods{
- server 192.168.200.130:8080;
- #server 192.168.200.129:8080;
- }
- server {
- listen 80;
- server_name localhost;
- location / {
- root html;
- #proxy_pass http://192.168.200.130:8080
- proxy_pass http://goods;
- index index.html index.htm;
- }
- }
- }
http块 一个http处理模块,可进行http的相关参数配置,内可以包含多个server块;
upstream块 配置反向代理及负载均衡,可以写多个upstream块,是定义在server块前面。
server localhost:8080; localhost可以指向网络任何一台主机。
server块 包含在http{}内部,每一个server{}都是一个虚拟主机(站点)监听
listen 监听端口
server_name 用于与http请求header头部的Host匹配
location 路径配置,符合某个路径执行块内规则
/ 代表根下资源
root html 是根下的资源,可以从html目录获取。
index 默认页面(不输入网页时,默认访问页)
需要重新刷一遍 效果会更好
- #进入nginx的sbin目录
- cd /usr/local/nginx/sbin
-
- #在sbin目录下停止
- ./nginx -s stop
-
- #重启
- ./nginx -s reload
- #在sbin目录下启动
- ./nginx
iptables是linux 系统自带的优秀且完全免费的基于包过滤的防火墙工具、它的功能十分强大、使用非常灵活、可以对流入、流出及流经服务器的数据包进行精细的控制。特别是它可以在一台非常低配置下跑的非常好。 centos系统,默认仅仅开放了22端口,其他端口需要使用iptables进行管理(开放、删除、保存规则等)
安装iptables
yum install iptables-services
添加规则 (比如开放8080端口)
/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
保存规则
service iptables save
配置开机启动
把启动防火墙服务的命令,加入到开机启动的配置文件中即可。
vim /etc/profile
查看与删除iptables中放行的规则
- #查看iptables列表,显示列表编号
- iptables -L -n --line-number
- Chain INPUT (policy ACCEPT)
- num target prot opt source destination
- 1 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:8080
- 2 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:3306
- 3 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
- 4 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
- #删除iptables列表中 编号为1的规则
- iptables -D INPUT 1
yum命令安装
yum -y install mysql-community-server
如果出现如图所示,请参考【手动获取rpm文件】:
需要下载205M的资源,需要根据网络情况,等待比较久的时间。
安装完毕如下:
手动获取rpm文件安装
在线获取rpm包
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
安装下载的rpm文件
rpm -ivh mysql-community-release-el7-5.noarch.rpm
安装mysql-server
yum install mysql-server
启动mysql服务
service mysqld start
查看初始密码【5.7版本执行如下命令,5.6版本,默认密码是空】
grep "password" /var/log/mysqld.log
登录mysql
mysql -u root -p
输入初始密码,可以复制密码,并粘贴到输入密码的位置
设置root密码
修改安全策略 (mysql5.7不允许设置比较简单的密码策略)
- set global validate_password_policy=0;
- set global validate_password_length=1;
设置密码:
set password = password('123456');
3. 授权远程连接
默认情况下mysql为安全起见,不支持远程登录mysql,所以需要设置开启远程登录mysql的权限
- grant all privileges on *.* to 'root' @'%' identified by '123456';
- flush privileges;
- SET PASSWORD FOR 'root'@'%'= PASSWORD('123456');
开放3306端口
- /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
- service iptables save
tar -xvf 解开压缩包到指定目录
tar -xvf jdk-8u211-linux-x64.tar.gz -C /usr/local
编辑配置文件,并配置环境变量
全局配置或当前用户配置,二选一即可。
全局配置文件: vim /etc/profile 或 用户配置文件 vim ~/.bash_profile 推荐前者。
vim /etc/profile
将以下代码复制到profile文件中的末尾。
- #set java environment
- JAVA_HOME=/usr/local/jdk1.8.0_211/
- CLASSPATH=.:$JAVA_HOME/lib.tools.jar
- PATH=$JAVA_HOME/bin:$PATH
- export JAVA_HOME CLASSPATH PATH
保存并退出
加载环境变量
source /etc/profile 或 source .bash_profile ,推荐前者。
source /etc/profile
不出现任何提示,说明环境加载成功。
测试环境
输入 java或javac ,出现如下提示即为环境配置成功
如果出现:
前面的路径没有设置正确,请重新检查profile文件设置的路径与磁盘路径是否一致
重新执行 source /etc/profile
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。