Linux 软件安装与项目部署

目录

  • I. 软件安装
    • 1. 常见的安装方式
      • a. 二进制发布包
      • b. RPM 安装包
      • c. YUM 在线安装
      • d. 源码包
      • e. Docker
    • 2. 上传与下载工具
    • 3. JDK 安装
    • 4. Tomcat 安装
    • 5. Nginx 安装
    • 6. MySQL 安装
    • 7. Redis 安装
  • II. 项目部署
    • 1. 环境确认
    • 2. 数据库迁移
    • 3. Tomcat 部署项目
    • 4. Nginx 配置反向代理
    • 5. Nginx 配置负载均衡
    • 6. 本机添加 DNS 映射


I. 软件安装

1. 常见的安装方式

a. 二进制发布包

  • 也称为绿色免安装,软件已经针对具体平台编译打包发布开发人员拿到安装包之后只要解压,修改配置即可使用。

b. RPM 安装包

  • 软件已经按照 Redhat 的包管理工具规范 RPM 进行打包发布,需要获取到相应的软件 RPM 发布包,然后用 RPM 命令进行安装。
RPM 命令安装
	语法:  rpm 参数 安装包
	参数:
        -v 显示指令执行过程
        -h 表示显示进度
        -q 查询包是否已经安装
        -a 查看所有安装的软件
        -i 安装软件
        -U 更新升级
        -e 卸载软件
        --nodeps 不验证软件的相互关联性 
常用命令:
    安装:rpm -ivh rpm文件
    升级:rpm -Uvh rpm文件
    卸载:rpm -e --nodeps 软件名
    查看所有安装的软件:rpm -qa | grep 具体名

c. YUM 在线安装

  • 软件已经以 RPM 规范打包,但发布在了网络上的一些服务器上,可用 YUM 在线安装服务器上的 RPM 软件,并且会自动解决软件安装过程中的库依赖问题。
yum install 软件名
yum localinstall rpm包	使用yum安装本地rpm包(此过程会自动联网下载依赖,解决依赖问题)

d. 源码包

  • 此种安装包软件以源码工程的形式发布,需要程序员自行编译安装。
  • 它一般包含四个步骤:解压 >> 配置 >> 编译 >> 安装。

e. Docker

  • 最常用、最简单的安装方式,Docker 就相当于一个容器。

2. 上传与下载工具

  • FTP(File Transfer Protocol,文件传输协议)
1. sftp(实现了ssh加密)
		使用alt + p 组合键打开sftp窗口	
		get:  将远程主机(linux)中文件下载到本地主机(windows)
        put:  将本地主机(windows)中文件上传到远程主机(linux)
        quit: 断开FTP连接
		pwd:  查询linux主机所在目录
        lpwd: 查询windows主机所在目录
        ls:   查询连接到当前linux主机所在目录有哪些文件
        lls:  查询当前本地上传目录有哪些文件
        lcd:  改变本地上传目录的路径
        cd:   改变远程上传目录      

2. lrzsz
        我们可以使用yum安装方式安装:yum install lrzsz
    	注意:必须有网络
    	rz 上传
    	sz 下载

3. JDK 安装

1. 查看当前Linux系统是否已经安装java
		rpm -qa | grep -i java
	卸载
		rpm -e --nodeps xxxxxx
		
2. 解压已上传的JDK压缩包,并移动到/usr/local目录下
		tar -zxvf /root/jdk-8u201-linux-x64.tar.gz -C/usr/local/
		或
		cd 后输入 ./java -version(Windows平台必须要加./)

3. 测试jdk
		/usr/local/jdk1.8.0_201/bin/java -version
		
4. 配置环境变量
	vim /etc/profile(G >> o 编辑最后一行)
	   G 跳转到最后一行
	   i 进入插入模式
        export JAVA_HOME=/usr/local/jdk1.8.0_201
        export PATH=$PATH:$JAVA_HOME/bin
	   esc 进入命令行模式
	   :wq(保存编辑操作退出)
	   :wq!(保存编辑强制退出)
	
5. 更新环境变量
		source /etc/profile
	
6. 测试
		java -version

4. Tomcat 安装

1. 解压已上传的Tomcat压缩包,到/user/local目录下
		tar -zxvf /root/apache-tomcat-8.5.27.tar.gz -C /root
		cp -r /root/apache-tomcat-8.5.27 /usr/local/tomcat1

2. 启动tomcat
		/usr/local/tomcat1/bin/startup.sh 
		
3. 动态查看日志
		tail -f /usr/local/tomcat1/logs/catalina.out 
		
4. 防火墙放行端口
		firewall-cmd --zone=public --add-port=8080/tcp --permanent
		firewall-cmd --reload
		
5. 关闭tomcat
		/usr/local/tomcat1/bin/shutdown.sh 

5. Nginx 安装

1. 安装必须库
		yum  install  gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel -y
	
2. 解压文件
		tar -zxvf /root/nginx-1.13.9.tar.gz  -C /root
	
3. 配置
		cd /root/nginx-1.13.9
		./configure --prefix=/usr/local/nginx
	
4. 编译
		make
	
5. 安装
		make install
	
6. 启动
		/usr/local/nginx/sbin/nginx
	
7. 防火墙放行端口
		firewall-cmd  --zone=public  --add-port=80/tcp  --permanent
		firewall-cmd --reload
	
8. 停止nginx
		/usr/local/nginx/sbin/nginx -s stop   #停止服务
	
9. 修改后,执行
		/usr/local/nginx/sbin/nginx -s reload  #重新加载配置
  • 访问 Linux 地址进行测试:
    Linux 软件安装与项目部署_第1张图片

6. MySQL 安装

1. 查看CentOS是否自带的MySQL环境
		rpm -qa | grep -i mysql
		rpm -qa | grep -i mariadb
	
2. 卸载mariadb
		rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64

3. 解压文件
		mkdir -p /usr/local/mysql
		tar -zxvf /root/mysql-5.7.25-1.el7.x86_64.rpm-bundle.tar.gz -C/usr/local/mysql
		cd /usr/local/mysql/
		
4. 安装libaio环境(已经存在不需要)
		yum install libaio
	
5. 安装MySQL(按顺序)
        rpm -ivh /usr/local/mysql/mysql-community-common-5.7.25-1.el7.x86_64.rpm
        rpm -ivh /usr/local/mysql/mysql-community-libs-5.7.25-1.el7.x86_64.rpm
        rpm -ivh /usr/local/mysql/mysql-community-devel-5.7.25-1.el7.x86_64.rpm
        rpm -ivh /usr/local/mysql/mysql-community-libs-compat-5.7.25-1.el7.x86_64.rpm
        rpm -ivh /usr/local/mysql/mysql-community-client-5.7.25-1.el7.x86_64.rpm
        rpm -ivh /usr/local/mysql/mysql-community-server-5.7.25-1.el7.x86_64.rpm
	测试
        mysql --version
	
6. 启动mysql服务
		systemctl start mysqld
	
7. 查看随机生成的密码
		grep 'temporary password' /var/log/mysqld.log
	
8. 修改root用户密码
        mysql -u root -p
        Enter password:输入刚才查询到的随机密码
        >set global validate_password_length=4;
        >set global validate_password_policy=LOW; 
        >set password = password('root');
	测试
		>exit
		>mysql -u root -proot
		
9. 防火墙放行端口
        firewall-cmd --zone=public --add-port=3306/tcp --permanent
        firewall-cmd --reload
	
10. 开启mysql的远程登录权限
        mysql -uroot -proot
        > CREATE USER 'root'@'%' IDENTIFIED BY 'root';
        > GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' ;
        > FLUSH PRIVILEGES;
        > exit;
		
11. MySQL编码问题(默认安装完毕为 ISO-8859-1)
	1. 编辑/etc/my.cnf,在[mysqld]选项下添加字符集的设置
		vim /etc/my.cnf
      	    [mysqld]
        	character-set-server=utf8
	2. 重新启动mysql的服务
		systemctl restart mysqld

	测试
		cmd:mysql -h192.168.18.128 -uroot -proot
		SQLyog:新建链接
  • 临时密码的登录:
    Linux 软件安装与项目部署_第2张图片
    Linux 软件安装与项目部署_第3张图片

7. Redis 安装

1. 解压文件
		tar -zxvf /root/redis-3.0.7.tar.gz -C /root
			
2. 编译
		cd /root/redis-3.0.7
		make
		
3. 安装
		make PREFIX=/usr/local/redis install
		
4. 复制配置文件到/usr/local/redis/bin
		cp /root/redis-3.0.7/redis.conf /usr/local/redis/bin/
		
5. 设置后台启动(否则占用当前线程,退出redis才能输入命令)
		vim /usr/local/redis/bin/redis.conf(可以使用 /daemonize 搜索,n 下一个)
			daemonize yes
			
6. 启动redis
		/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf
	测试
		/usr/local/redis/bin/redis-cli
		keys *
		set aa bb
		get aa
		exit

7. 防火墙放行端口
		firewall-cmd --zone=public --add-port=6379/tcp --permanent
		firewall-cmd --reload
		
8. 关闭redis(通过客户端关闭服务器端)
		/usr/local/redis/bin/redis-cli shutdown
  • 访问安装目录 /usr/local/redis/bin:
    Linux 软件安装与项目部署_第4张图片
  • 登录redis客户端测试:
    Linux 软件安装与项目部署_第5张图片
    Linux 软件安装与项目部署_第6张图片
  • 关闭redis服务器:
    Linux 软件安装与项目部署_第7张图片

II. 项目部署

1. 环境确认

语法
		netstat -antup
		netstat -antup | grep 端口号
		
参数解释		
		-antup	查看当前正在使用的udp和tcp协议的端口号和进程号

Linux 软件安装与项目部署_第8张图片

2. 数据库迁移

  1. 将 Windows 的数据库进行备份:导出 SQL。
    Linux 软件安装与项目部署_第9张图片
  2. 还原到 Linux 的数据库中:执行 SQL 脚本。
    Linux 软件安装与项目部署_第10张图片

3. Tomcat 部署项目

  1. 打开 IDEA,对 Maven 进行 package 打包:Linux 环境是没有磁盘划分,需要把有关储存磁盘路径的代码注释掉。
    Linux 软件安装与项目部署_第11张图片
  2. 进入 target 目录,对 war 包改名:
    Linux 软件安装与项目部署_第12张图片
  3. 使用 FTP 上传到 Linux 服务器:
    alt + p
    put C:\Users\80626\travel_online\target\travel.war
    在这里插入图片描述
  4. 部署到 Tomcat 中的 webapps 目录:
    cp -r /root/travel.war /usr/local/tomcat1/webapps/
    cd /usr/local/tomcat1/webapps/
    ll
    Linux 软件安装与项目部署_第13张图片
  5. 浏览器访问测试

4. Nginx 配置反向代理

  • 需要修改 nginx.conf 配置文件:vim /usr/local/nginx/conf/nginx.conf
  • 如果需要对 Linux 的配置文件进行文本编辑,推荐使用 Notpad++ 工具(需要安装 NppFTP 插件)
    #gzip  on;
	
	# 指定要代理的tomcat服务器列表
	upstream tomcat_server {
		server localhost:8080;
	}

    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
        	root   html;
    		# 现在nginx不再是访问html路径,改成反向代理
            proxy_pass  http://tomcat_server; 
            index  index.html index.htm;
        }
  • 修改完毕后,需要重写加载配置文件:/usr/local/nginx/sbin/nginx -s reload
  • 流程图:
    Linux 软件安装与项目部署_第14张图片

5. Nginx 配置负载均衡

1. 将当前tomcat1停止运行
  		/usr/local/tomcat1/bin/shutdown.sh
  	
2. 复制tomcat1为tomcat2
		cp -r /usr/local/tomcat1 /usr/local/tomcat2
	
3. 修改tomcat2的3个端口
		vim /usr/local/tomcat2/conf/server.xml
    	8005-->8015   8009-->8019  8080-->8081
    
4. 放行8081端口
  		firewall-cmd --zone=public --add-port=8081/tcp --permanent
		firewall-cmd --reload  
	
5. 启动两个tomcat
		/usr/local/tomcat1/bin/startup.sh
		/usr/local/tomcat2/bin/startup.sh
	
6. 在nginx中配置负载均衡策略( ip_hash根据用户ip绑定唯一标识)
       vim /usr/local/nginx/conf/nginx.conf
            upstream tomcat_server{
               ip_hash;
               server localhost:8080 weight=2;
               server localhost:8081 weight=1;
            }
    
7. 重新加载nginx配置
		/usr/local/nginx/sbin/nginx -s reload
	
8. 同时开启两个窗口,通过动态查看tomcat日志可见结果
		tail -f /usr/local/tomcat1/logs/catalina.out
		tail -f /usr/local/tomcat2/logs/catalina.out

9. 测试
		可能有缓存干扰,建议使用 ctrl + f5 强刷 

6. 本机添加 DNS 映射

  • 可以使用伪 DNS 映射来分配域名(欺骗个人电脑),仅本地访问有效。
    Linux 软件安装与项目部署_第15张图片
    在这里插入图片描述

  • 原文链接:https://qwert.blog.csdn.net/article/details/106404094

你可能感兴趣的:(Operating,System)