linux的相关操作与配置与CentOS 7的相关操作

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介: Linux 软件安装到 /usr,/usr/local/ 还是 /opt 目录?1. /usr:系统级的目录,可以理解为C:/Windows/,/usr/lib理解为C:/Windows/System32。2. /usr/local:用户级的程序目录,可以理解为C:/Progrem Files/。用户自己编译的软件默认会安装到这个目录下。3. /opt:用户级的程序目录,可以理解为D:/Software,opt有可选的意思,这里可以用于放置第三方大型软件(或游戏),当你不需要时,直接rm -rf掉即可。 在硬盘容量不够时,也可将/opt单独挂载到其他磁盘上使用。
  1. 上传及下载文件
    1.安装及使用lrzsz
    2.上传

    rz

    3.下载

    sz 文件名
    
    
  2. 上传jdk和tomcat的安装文件到指定文件夹
    mkdir /usr/local/mytools

    注1:安装见资料

       apache-tomcat-8.5.20.tar.gz
       jdk-8u151-linux-x64.tar.gz
    
  3. linux压缩和解压命令
    tar/tar.gz/zip
    rar/jar/7z
    tar压缩命令
    tar压缩命令为 tar -zcvf 压缩名.tar.gz 文件/目录
    tar解压命令为 tar -zxvf 压缩包名

               tar -zxf  压缩包名 //静默解压方式
    

    vim:超级记事本 插入
    vi:记事本 insert

    按i键进入编辑模式
    按ESC键退出编辑模式
    :q 代表退出
    :q! 代表强制退出
    :wq 代表保存并退出

    关机:
    shutdown -h now
    poweroff
    重启:
    shutdown -r now
    reboot

    zip文件
    zip压缩命令 zip -q -r 压缩包名.zip 目录/文件名

              zip -r xxx.zip ./*

    zip解压命令 unzip filename.zip

  4. linux中JDK的安装与配置

    1.解压JDK压缩包

    cd /usr/local/mytools
    tar -zxvf jdk-8u151-linux-x64.tar.gz -C /usr/local                  解压到指定文件夹
                                                                            
    注1:在解压的时候 -C 是解压到指定目录中,一定要加-C参数,而且区分大小写的,-_- 555555555555555,“很痛的很痛的很痛的领悟”
    注2:&&可将多条命令合成一行
         cd /usr/local/mytools && tar -zxvf jdk-8u151-linux-x64.tar.gz -C /usr/local
    

    2.配置JDK环境变量

    vim /etc/profile
    #打开配置文件并在文件的最后添加如下内容(注意:=两边没有空格)
    #java environment
    export JAVA_HOME=请修改JDK解压路径
    export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
    export PATH=$PATH:${JAVA_HOME}/bin
    

    3.设置环境变量生效

    source /etc/profile
    

    4.查看环境变量是否配置成功

    java -version
    
    
  5. tomcat安装与配置
    1.解压tomcat到指定路径

    tar -zxvf apache-tomcat-8.5.20.tar.gz -C /usr/local 
    

    2.解压完成后进入tomcat的bin目录

    cd /usr/local/apache-tomcat-8.5.20/bin
    

    3.启动或关闭tomcat

    cd /usr/local/apache-tomcat-8.5.20/bin
    ./startup.sh
    ./shutdown.sh
    
    注1:如何查看远程服务器的日志
         cd /usr/local/apache-tomcat-8.5.20/logs
         tail -f catalina.out                                                 #实时查看日志文件
         tail -100f catalina.out                                              #实时查看日志文件后一百行 
    注2:tomcat启动后,外部浏览器无法访问,原因:防火墙中8080端口未开放,
         防火墙的开启详情见:附录二
    
         ESC服务器-安全组规则
    注3:查看tomcat启动进程以及使用如何强制杀掉进程:
         ps -ef|grep java
         kill -9 进程PID
    
    

    --以上步骤完成后,还是无法发布项目的
    4.添加管理员、密码、权限

     cd /usr/local/apache-tomcat-8.5.20/conf  
     vim tomcat-users.xml
    
     然后在<tomcat-users>标签中插入以下内容(即添加管理员、密码、权限)
     <role rolename="manager-gui"/> 
     <user username="admin" password="1234" roles="manager-gui"/>
    

    5.允许admin远程访问tomcat

     此步骤完成后manager应用仍然会拒绝访问,因为tomcat8.5以后在manager应用中,默认只允许本机访问
     具体请参考课件资料《Linux安装Tomcat,解决不能访问Manager App - zhoong - 博客园》
    

    6.将tomcat端口号port="8080"改为80

     cd /usr/local/java/apache-tomcat-8.5.20/conf
     vim server.xml
     <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
    

    7.重启tomcat,使修改生效(先停止再启动)

     /usr/local/apache-tomcat-8.5.20/bin
     ./shutdown.sh
     ./startup.sh
    

    9.通过admin用户远程发布web项目,例如:hello.war

6.Centos7下设置Tomcat开机自启动
1.systemctl命令

查看全部服务命令:systemctl list-unit-files --type service      ctrl+c可以回到命令输入
查看服务:systemctl status 服务名.service
启动服务:systemctl start 服务名.service
停止服务:systemctl stop 服务名.service
重启服务:systemctl restart 服务名.service
增加开机启动:systemctl enable 服务名.service
删除开机启动:systemctl disable 服务名.service

注1:后缀.service可以省略 

2.tomcat自启动


cd /usr/lib/systemd/system
vi tomcat.service
将资料中的tomcat.service中的内容复制进来,并修改tomcat和jdk的路径(重要!重要!重要!)

systemctl enable tomcat  
systemctl daemon-reload
systemclt start/status/stop/restart tomcat

#配置防火墙
firewall-cmd --zone=public --add-port=8081/tcp --permanent &&
firewall-cmd --reload &&
firewall-cmd --list-ports

#重启虚拟机
reboot或者shutdown -r now

注1:详情见:tools/tomcat.service

  1. 安装MYSQL5.7.30

    1.官网下载MySQL5.7.30的RPM安装包

    2.卸载CentOS7系统自带的mariadb

    #先检查有没有安装mariadb
    rpm -qa|grep mariadb

    #我有个mariadb-libs-5.5.56-2.el7.x86_64,把它给卸载了
    #mariadb-libs-5.5.56-2.el7.x86_64
    rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64

    #再次查看,mariadb已删除
    rpm -qa|grep mariadb

    3.安装libaio、perl、net-tools库,要不就会报错 balabala...
    yum -y install libaio perl net-tools

    4.rz上传安装包到/usr/local/mytools

    5.建个目录并将安装文件解压到此目录

    mkdir /usr/local/mysql-5.7.30
    cd /usr/local/mytools
    tar -xvf mysql-5.7.30-1.el7.x86_64.rpm-bundle.tar -C /usr/local/mysql-5.7.30

    6.进入目录准备安装
    cd /usr/local/mysql-5.7.30
    #开始安装,-ivh 其中i表示安装,v表示显示安装过程,h表示显示进度
    rpm -ivh mysql-community-common-5.7.30-1.el7.x86_64.rpm
    rpm -ivh mysql-community-libs-5.7.30-1.el7.x86_64.rpm
    rpm -ivh mysql-community-client-5.7.30-1.el7.x86_64.rpm
    rpm -ivh mysql-community-server-5.7.30-1.el7.x86_64.rpm

    7.启动mysqld服务
    systemctl start mysqld

    注1:安装完成后的服务名叫mysqld

       systemctl start mysqld
       

    8.登录mysql修改密码
    #查询生成的临时密码
    grep "password" /var/log/mysqld.log

    #登录mysql
    mysql -u root -p
    #因为是本地测试环境,所以想把密码改的简单点
    #查看mysql初始的密码策略:
    SHOW VARIABLES LIKE 'validate_password%';
    #设置密码校验策略(0 or LOW),要不密码太LOW不让你过
    set global validate_password_policy=0;
    #设置密码校验长度,要不密码太短不让你过(多次测试发现密码最小长度为4位)
    set global validate_password_length=4;
    #更新密码
    set password = password("1234");
    #输入后使修改生效还需要下面的语句
    FLUSH PRIVILEGES;
    #可以退出,试试用新密码重新登录
    exit

    9.修改mysql的字符集为utf8
    #登陆mysql之后,可以通过如下命令查看mysql的字符集
    show variables like 'chara%';
    quit;

    #以下命令为linux命令
    #修改配置文件设置 MySQL 字符集为 UTF-8
    vi /etc/my.cnf

    [mysqld]
    #在mysqld最下面加入二行代码
    character-set-server=utf8
    collation-server=utf8_general_ci

    #client为自己添加
    [client]
    default-character-set=utf8

    9.Centos7下无法远程连接mysql数据库
    1.数据库没有授权,允许以root身份远程登录mysql

    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '1234' WITH GRANT OPTION;
    #输入后使修改生效还需要下面的语句
    FLUSH PRIVILEGES;

    2.服务器防火墙没有开放3306端口

    firewall-cmd --zone=public --add-port=3306/tcp --permanent &&
    firewall-cmd --reload &&
    firewall-cmd --list-port &&
    firewall-cmd --query-port=3306/tcp
    
    
  2. mysql数据库数据导出/导入
    Navicat导出表结构及少量数据
  3. ssh2项目部署到CentOS7的tomcat
    通过8080访问

    注1:重启虚拟机后,发现有时候linux中的tomcat启动失败,应该将tomcat服务在mysql服务启动后启动。重要
    注2:可将WEB项目部署到不同的tomcat中,可做集群测试

  4. CentOS7中使用yum安装Nginx的方法
    1.添加 nginx 官方提供的 yum 源(需要联网且时间较长)
    rpm -Uvh http://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.14.2-1.el7_4.ngx.x86_64.rpm

    2.使用 yum 安装 nginx
    yum install nginx

    注1:yum方式安装nginx,它的安装根目录为/etc/nginx
    注2:查看nginx版本

       rpm -qa | grep nginx
    

    3.启动及设置开机启动
    systemctl start nginx.service
    systemctl enable nginx.service

    3.设置防火墙开放 80 端口
    firewall-cmd --zone=public --add-port=80/tcp --permanent
    firewall-cmd --reload && firewall-cmd --list-port

    4.测试 nginx 是否可被访问,应该显示nginx的欢迎界面
    http://192.168.183.144:80

  1. 将SPA项目压缩并上传到/usr/nginx/html目录,再解压
    mkdir /usr/nginx/html
    unzip crm.zip

    重启nginx

    重新修改window中的hosts文件

    注1:通过虚拟域名访问,还要修改window的hosts文件添加虚拟域名映射,文件位置如下:

        C:\Windows\System32\drivers\etc\hosts
        另外,此文件有可能出现由于当前用户权限不够,出现无法修改的情况?解决方案
        将此文件复制到d硬盘任一目录,修改后,再复制替换C:\Windows\System32\drivers\etc\hosts原文件  
    
    

5.通过nginx对tomcat进行集群及代理
#进入conf.d目录,并对default.conf进行备份
cd /etc/nginx/conf.d && cp default.conf default.conf.bak

#修改default.conf,添加tomcat集群和动态代理配置

systemctl restart nginx && systemctl status nginx

注1:查看nginx的访问日志和错误日志

   /var/log/nginx/access.log
   /var/log/nginx/error.log 

注2:查看nginx版本

   rpm -qa | grep nginx









1.CentOS7安装mysql三种方式
1.yum
2.tar.gz
3.*.deb安装包

附录一:CentOS7防火墙查询、启动和关闭
CentOS 7.0默认使用的是firewall作为防火墙
1.查看防火墙状态
firewall-cmd --state
2.停止firewall
systemctl stop firewalld.service
3.禁止firewall开机启动
systemctl disable firewalld.service

附录二:
附录五:CentOS 7快速开放端口
CentOS7防火墙firewalld默认是开启的,下面记录如何使用firewalld开放Linux端口:

开启端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent

删除指定端口
firewall-cmd --zone=public --remove-port=8080/tcp --permanent

查询指定端口号是否开启:
firewall-cmd --query-port=8080/tcp

重启防火墙(不重启以上的设置是不会生效的):
firewall-cmd --reload

查询有哪些端口是开启的:
firewall-cmd --list-port

命令含义:
--zone #作用域
--add-port=8080/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效

附录三:

  1. SSH是什么?
    ssh是一种安全协议,主要用于给远程登录会话数据进行加密,保证数据传输的安全
  2. SSH分为客户端和服务端。
    服务端是一个守护进程,一般是sshd进程,在后台运行并响应来自客户端的请求。提供了对远程请求的处理,一般包括公共密钥认证、密钥交换、对称密钥加密和非安全连接
  3. 工作机制
    3.1 客户端发送一个连接请求到远程服务端
    3.2 服务端检查申请的包和IP地址,再发送密钥给SSH客户端;
    3.3 客户端再将密钥发回服务端,自此建立连接

附录四:
Linux 软件安装到 /usr,/usr/local/ 还是 /opt 目录?

  1. /usr:系统级的目录,可以理解为C:/Windows/,/usr/lib理解为C:/Windows/System32。
  2. /usr/local:用户级的程序目录,可以理解为C:/Progrem Files/。用户自己编译的软件默认会安装到这个目录下。
  3. /opt:用户级的程序目录,可以理解为D:/Software,opt有可选的意思,这里可以用于放置第三方大型软件(或游戏),当你不需要时,直接rm -rf掉即可。

     在硬盘容量不够时,也可将/opt单独挂载到其他磁盘上使用。
    
    

附录五:linux 里rpm包到底是干什么用的
Linux RPM全称是“RedHat Package Manager”,最早是Red Hat公司开发的,后来在CentOS、Fedora、SUSE都用它。
而rpm包则是软件编译完成后按照RPM机制打包起来的一个文件,可以用rpm命令安装的一个软件安装包,
它省去了Linux软件安装中编译的步骤,安装成功后软件就可以用了。

附录六:centos7中虚拟域名设置
vim /etc/hosts

相关文章
|
3天前
|
Ubuntu Linux 编译器
【Linux】详解动静态库的制作和使用&&动静态库在系统中的配置步骤
【Linux】详解动静态库的制作和使用&&动静态库在系统中的配置步骤
|
1天前
|
存储 Linux C++
linux信号量与PV操作知识点总结
linux信号量与PV操作知识点总结
|
3天前
|
存储 Linux
Redhat Enterprise Linux磁带机简单操作
Redhat Enterprise Linux磁带机简单操作
|
5天前
|
Unix Shell Linux
在 Linux 上把 Vim 配置为默认编辑器
在 Linux 上把 Vim 配置为默认编辑器
|
5天前
|
运维 监控 Linux
如何在Linux上部署1Panel运维管理面板并远程访问内网进行操作
如何在Linux上部署1Panel运维管理面板并远程访问内网进行操作
12 0
如何在Linux上部署1Panel运维管理面板并远程访问内网进行操作
|
5天前
|
存储 Web App开发 Ubuntu
整理16款适用于较旧低配置电脑的最佳Linux发行版
在本指南中,趣云笔记(https://www.ecscoupon.com/)介绍了一些最好的Linux发行版,你可以将它们安装在旧PC上并为其注入新的活力。
24 0
|
6天前
|
Linux 数据安全/隐私保护
Linux 读写权限的配置
Linux 读写权限的配置
11 0
|
6天前
|
存储 安全 Linux
linux centos7中使用 Postfix 和Dovecot搭建邮件系统
linux centos7中使用 Postfix 和Dovecot搭建邮件系统
|
6天前
|
Linux 网络安全 数据库
linux centos系统搭建samba文件服务器 NetBIOS解析 (超详细)
linux centos系统搭建samba文件服务器 NetBIOS解析 (超详细)
|
7天前
|
关系型数据库 MySQL Linux
Linux CentOs7 安装Mysql(5.7和8.0版本)密码修改 超详细教程
Linux CentOs7 安装Mysql(5.7和8.0版本)密码修改 超详细教程