zoukankan      html  css  js  c++  java
  • Linux------环境配置(CentOS 7) 安装JDK Tomcat Nginx MySQL

    mkdir:创建目录  rmdir: 删除目录   pwd:列出当前目录

    注:

    设置语言:LANG="zh_CN.UTF-8"   LANG="en_US.UTF-8"

     !!!要注意腾讯云的安全组有没有开放端口

    Linux文件结构的详细解答:https://www.cnblogs.com/irisrain/p/4201947.html

    Linux 目录详解:https://blog.csdn.net/m0_38044196/article/details/72844025

    Linux命令的查询网站:https://www.linuxcool.com/

    软件要安装到什么地方好:https://blog.csdn.net/aqxin/article/details/48324377

     第一次不懂,网上查到,把 jdk安装到 /usr,后来又查到 把tomcat 安装到 /usr/local ,最后查到 maven 安装到 /usr/local/bin,但是bin目录像是用来存放命令的,所以你们放哪里随意啦,但是我建议放到/usr/local

    linux:权限管理;软件安装

    安装环境:JDK;Tomcat; Maven;Vsftpd; Nginx; 文件服务器;MySQL; Git; iptables : 防火墙; 自动化发布脚本

    安装jdk:https://blog.csdn.net/zilch_wolf/article/details/80379383       https://cloud.tencent.com/developer/article/1341059

    1 检查有没有安装jdk:

    java -version   //或  rpm -qa | grep jdk
    

     2 下载rpm软件包:  需要在请求头中查看 下载链接(因为下载需要验证登录 ,有一个AuthParam参数)  ;下载完到目录所在的安装包查看 du -h 会显示安装包大小

    wget https://download.oracle.com/otn/java/jdk/8u221-b11/230deb18db3e4014bb8e3e8324f81b43/jdk-8u221-linux-x64.rpm?AuthParam=1569377150_3eb0bfdd95c7b7ec1ac0050fd5d0a077
    

     3 把安装包重命名: 原名称(jdk-8u221-linux-x64.rpm?AuthParam=1569377150_3eb0bfdd95c7b7ec1ac0050fd5d0a077)

    mv jdk-8u221-linux-x64.rpm?AuthParam=1569377150_3eb0bfdd95c7b7ec1ac0050fd5d0a077 jdk-8u221-linux-x64.rpm
    

     4 安装rpm软件包: 命令:rpm -ivh packge.rpm    默认安装到:/usr/java/jdk1.8.0_221-amd64

    rpm -ivh jdk-8u221-linux-x64.rpm
    

     5 修改配置文件  vim /etc/profile :在配置文件最后边添加 ,然后 Esc + :wq 保存退出; 注意得在英文中按  :wq

    #set java environment 
     JAVA_HOME=/usr/java/jdk1.8.0_221-amd64
     JRE_HOME=/usr/java/jdk1.8.0_221-amd64/jre
     CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
     PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
     export JAVA_HOME JRE_HOME CLASS_PATH PATH
    

     6  让配置生效 source /etc/profile ;检查 是否安装成功 java -version

    安装Tomcat:   https://blog.csdn.net/zhuying_linux/article/details/6583096

    检查是否安装tomcat :rpm -qa|grep tomcat  //试了下,这个命令好像没起效果,可能是命名的问题

    1 下载tomcat: 在 /usr/local 创建文件夹 tomcat,把文件下载,并解压缩:

    wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.46/bin/apache-tomcat-8.5.46.tar.gz
    
    tar -zxvf apache-tomcat-8.5.46.tar.gz 
    

    2 设置字符集:到tomcat安装的conf文件夹,编辑server.xml ; / 8080 查找8080,在xml结点添加 URIEncoding="UTF-8"

    cd /usr/local/tomcat/apache-tomcat-8.5.46
    
        <Connector port="8080" protocol="HTTP/1.1"
                   connectionTimeout="20000"
                   redirectPort="8443" />
    

    3 配置环境变量:

    vim /etc/profile
    
    //在最下边添加
    #set tomcat
    export CATALINA_HOME=/usr/local/tomcat/apache-tomcat-8.5.46
    

    4 验证Tomcat : 到tomcat安装的bin文件夹, 执行 ./startup.sh 。

    cd  /usr/local/tomcat/apache-tomcat-8.5.46/bin
    ./startuop.sh
    ./shutdown.sh

    安装maven: 安装maven:https://blog.csdn.net/l05199179/article/details/78982212     修改本地仓库:https://blog.csdn.net/libaowen609/article/details/81625891

    1 下载并解压缩:

    //下载
    wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.2/binaries/apache-maven-3.6.2-bin.tar.gz
    //解压缩
    tar -zxvf apache-maven-3.6.2-bin.tar.gz
    

     2 配置环境变量:

    //进入配置文件
    vim /etc/profile
    //添加配置信息
    export MAVEN_HOME=/usr/local/bin/maven/apache-maven-3.6.2
    //在PATH 添加 MAVEN_HOME
    PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$MAVEN_HOME/bin
    

    3  让配置生效 source /etc/profile  , 并验证 mvn -version

    4 修改本地仓库: https://blog.csdn.net/libaowen609/article/details/81625891

    <localRepository>/usr/local/bin/maven/repository</localRepository>

     

    vsftpd服务: 看这一篇:https://www.itgeeker.net/centos6-5-64bit-how-to-install-vsftpd/.    https://blog.csdn.net/will0532/article/details/79175478

    rpm -qa | grep vsftpd 检查是否有安装     相关连接 https://blog.csdn.net/will0532/article/details/79175478        https://blog.csdn.net/somehow1002/article/details/70232791

    注:vsftpd弄了六个多小时,还是没弄成功: 如果单纯想要传输文件,可以用IDEA连接服务器: https://blog.csdn.net/qq_40074764/article/details/79965268

    大概是这个问题:https://www.cnblogs.com/chencongcong/p/9956778.html     就是这个破问题:https://blog.csdn.net/qq_26441253/article/details/53339083

    本项目要用到的配置项:
    1)local_root=/ftpfile(当本地用户登入时,将被更换到定义的目录下,默认值为各用户的家目录)
    2)anon_root=/ftpfile(使用匿名登入时,所登入的目录)
    3)use_localtime=YES(默认是GMT时间,改成使用本机系统时间)
    4)anonymous_enable=NO(不允许匿名用户登录)
    5)local_enable=YES(允许本地用户登录)
    6)write_enable=YES(本地用户可以在自己家目录中进行读写操作)
    7)local_umask=022(本地用户新增档案时的umask值)
    8)dirmessage_enable=YES(如果启动这个选项,那么使用者第一次进入一个目录时,会检查该目录下是否有.message这个档案,如果有,则会出现此档案的内容,通常这个档案会放置欢迎话语,或是对该目录的说明。默认值为开启)
    9)xferlog_enable=YES(是否启用上传/下载日志记录。如果启用,则上传与下载的信息将被完整纪录在xferlog_file 所定义的档案中。预设为开启。)
    10)connect_from_port_20=YES(指定FTP使用20端口进行数据传输,默认值为YES)
    11)xferlog_std_format=YES(如果启用,则日志文件将会写成xferlog的标准格式)
    12)ftpd_banner=Welcome to mmall FTP Server(这里用来定义欢迎话语的字符串)
    13)chroot_local_user=NO(用于指定用户列表文件中的用户是否允许切换到上级目录)
    14)chroot_list_enable=YES(设置是否启用chroot_list_file配置项指定的用户列表文件)
    15)chroot_list_file=/etc/vsftpd/chroot_list(用于指定用户列表文件)
    16)listen=YES(设置vsftpd服务器是否以standalone模式运行,以standalone模式运行是一种较好的方式,此时listen必须设置为YES,此为默认值。建议不要更改,有很多与服务器运行相关的配置命令,需要在此模式下才有效,若设置为NO,则vsftpd不是以独立的服务运行,要受到xinetd服务的管控,功能上会受到限制)
    17)pam_service_name=vsftpd(虚拟用户使用PAM认证方式,这里是设置PAM使用的名称,默认即可,与/etc/pam.d/vsftpd对应) userlist_enable=YES(是否启用vsftpd.user_list文件,黑名单,白名单都可以
    18)pasv_min_port=61001(被动模式使用端口范围最小值)
    19)pasv_max_port=62000(被动模式使用端口范围最大值)
    20)pasv_enable=YES(pasv_enable=YES/NO(YES)
    若设置为YES,则使用PASV工作模式;若设置为NO,则使用PORT模式。默认值为YES,即使用PASV工作模式。
       FTP协议有两种工作方式:PORT方式和PASV方式,中文意思为主动式和被动式。
       一、PORT(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。
      当需要传送数据时,客户端在命令链路上用 PORT命令告诉服务器:“我打开了****端口,你过来连接我”。于是服务器从20端口向客户端的****端口发送连接请求,建立一条数据链路来传送数据。
       二、PASV(被动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。
      当需要传送数据时,服务器在命令链路上用 PASV命令告诉客户端:“我打开了****端口,你过来连接我”。于是客户端向服务器的****端口发送连接请求,建立一条数据链路来传送数据。
      从上面可以看出,两种方式的命令链路连接方法是一样的,而数据链路的建立方法就完全不同。而FTP的复杂性就在于此。
    )
    

    1安装 :

    yum -y install vsftpd     //-y(当安装过程提示选择全部为"yes")
    

    2创建虚拟用户: ;3用户和文件夹权限对应 chown -R ftpuser.ftpuser /ftpfile;4重新设置ftpuser的密码

    在根目录创建一个文件夹,:用来上传文件

    mkdir ftpfile
    

    添加一个匿名用户:只能操作ftpfile,没有登录linux的权限    、、 会有一个警告:主目录已存在

    //添加用户
    useradd ftpuser -d /ftpfile -s /sbin/nologin 
    //赋予权限 :  命令执行完  ll 查看文件信息: drwxr-xr-x   2 ftpuser ftpuser  4096 Sep 26 16:26 ftpfile
    chown -R ftpuser.ftpuser /ftpfile/
    //设置密码 :    ..13
    passwd ftpuser
    

    3配置:      //默认配置文件在 /etc/vsftpd/vsftpd.conf

    //显示命令及相关文件的命令
    whereis vsftpd   ----------> vsftpd: /usr/sbin/vsftpd /etc/vsftpd /usr/share/man/man8/vsftpd.8.gz
    //进入配置文件:
    vim /etc/vsftpd/vsftpd.conf
    //搜索
    /banner   ---->可以修改欢迎信息 ,ftpd_banner=Welcome to mmall FTP Server(这里用来定义欢迎话语的字符串)  具体看上面的配置源
    
    //输入
    1)local_root=/ftpfile(当本地用户登入时,将被更换到定义的目录下,默认值为各用户的家目录)
    2)anon_root=/ftpfile(使用匿名登入时,所登入的目录)
    3)use_localtime=YES(默认是GMT时间,改成使用本机系统时间)
    //搜索到这个,并关闭匿名访问
    4)anonymous_enable=NO(不允许匿名用户登录)
    
    //  搜索: chroot_list_enable 然后去掉注释
    14)chroot_list_enable=YES(设置是否启用chroot_list_file配置项指定的用户列表文件)
    15)chroot_list_file=/etc/vsftpd/chroot_list(用于指定用户列表文件)
    
    //输入:修改端口范围
    18)pasv_min_port=61001(被动模式使用端口范围最小值)
    19)pasv_max_port=62000(被动模式使用端口范围最大值)
    
    保存退出: 到:/etc/vsftpd 创建:chroot_list 文件,在里边添加用户:ftpuser
    

    4防火墙配置: https://blog.csdn.net/yyycheng/article/details/79753032     https://blog.csdn.net/u013410747/article/details/61696178  

    //
    cd /etc/firewalld/zones
    vim public.xml
    
    <port protocol="tcp" port="20"/>
    <port protocol="tcp" port="21"/>
    
    //启动防火墙
    service firewalld start
    //重启
    service firewalld restart
    //关闭
    service firewalld stop
    
    //查看防火墙开放的端口规则
    firewall-cmd --list-all 
    
    # 查询端口是否开放
    firewall-cmd --query-port=8080/tcp
    # 开放80端口
    firewall-cmd --permanent --add-port=80/tcp
    # 移除端口
    firewall-cmd --permanent --remove-port=8080/tcp
    
    
    #重启防火墙(修改配置后要重启防火墙)
    firewall-cmd --reload
    
    # 参数解释
    1、firwall-cmd:是Linux提供的操作firewall的一个工具;
    2、--permanent:表示设置为持久;
    3、--add-port:标识添加的端口;
    

     这是CentOS 7 以下的版本 :  vim /etc/sysconfig/iptables      -A INPUT -p TCP --dport 61001:62001 -j ACCEPT  等配置信息 ; 重启防火墙:  service ipiptables restart

    #vsftpd
    -A INPUT -p TCP --dport 61001:62001 -j ACCEPT 
    -A INPUT -p TCP --sport 61001:62001 -j ACCEPT
    
    -A INPUT -p TCP --dport 20 -j ACCEPT 
    -A INPUT -p TCP --dport 20 -j ACCEPT
    
    -A INPUT -p TCP --dport 21 -j ACCEPT 
    -A INPUT -p TCP --dport 21 -j ACCEPT
    

    验证vsftpd :   重启:service vsftpd restart           启动:service vsftpd start      关闭:service vsftpd stop

    Nginx安装: https://www.cnblogs.com/jimisun/p/8057156.html

    cd /usr/local/nginx/sbin/
    
    //启动
    ./nginx
    
    //停止 :先查出nginx进程id再使用kill命令强制杀掉进程
    ./nginx -s stop
    
     //待nginx进程处理任务完毕进行停止
    ./nginx -s quit
    
    //重启
    ./nginx -s reload
    

    Nginx配置:

    //进入Nginx的conf配置文件
    cd /usr/local/nginx/conf
    //创建存放一个配置文件夹
    mkdir vhost
    //修改 nginx.conf 文件
    vim nginx.conf 
    //添加  include vhost/*.conf;  意思是:把vhost文件夹里边的 *.conf 结尾的文件加进来
    include vhost/*.conf;
    
    //在vhost添加:img.anitano.cn.conf 文件 将请求转发到: /product/ftpfile/img/文件夹
    注!!!: autoindex off; 关闭自动索引; autoindex on 开启自动索引: 效果如 http://learning.happymmall.com/
    server { listen 80; server { listen 80; autoindex off; server_name img.anitano.com; access_log /usr/local/nginx/logs/access.log combined; index index.html index.htm index.jsp index.php; #error_page 404 /404.html; if ($query_string ~* ".*[;'<>].*" ) { return 404; } location ~ /(mmall_fe|mmall_admin_fe)/dist/view/* { deny all; } location / { root /product/ftpfile/img/; add_header Access-Control-Allow-Origin *; } }

     nginx 正则表达式 :https://blog.csdn.net/jy02149522/article/details/79066574

    安装MySQL: https://www.cnblogs.com/Twobox/p/9925460.html     https://blog.csdn.net/qq_23167527/article/details/85236999    //特别注意要下载与你的CentOS系统对应的rpm包 mysql-8.0.13-1.el7.x86_64.  如:e7:7.x 系统

    》》第一个教程看前半部,第二个教程看后半部

    解决glibc 版本过低:下载MySQL时,要用系统匹配的RPM源,去下载对应系统的MySQL版本  http://www.cnzui.com/archives/1253

     安装错误时卸载MySQL依赖包:yum remove mysql-libs

    逐个卸载 rpm -e  包名

    卸载后可以查看安装情况:rpm -qa|grep -i mysql

     安装的时候要看安装显示的结果有没有报错,不要傻里傻气的闷头安装

    安装完成后初始化配置: 

    1 创建root用户:

    cat /var/log/mysqld.log 查看临时密码
    设置密码:alter USER 'root'@'localhost' IDENTIFIED BY '新密码(必须包含:数字大小写字母特殊字符)';
    忘记密码:https://blog.csdn.net/yi247630676/article/details/80352655

     设置字符集:不同版本之间设置字符集可能不一样

    2 删除匿名用户

    select user,host from mysql.user; #查询用户
    delete from mysql.user where user=''; #删除用户
    flush privileges

    3 新建一个正常用户

    create user 'quanran'@'%' identified by 'QuanRan123:';
    例如:create user 'eshop'@'localhost' IDENTIFIED BY 'Yang134679.';

    4 导入数据库

    5 给账号开通各种权限 :增删改查权限

      退出:quit

  • 相关阅读:
    通过包名获取该包下的所有类
    spring各版本下载地址
    Hash函数和消息摘要算法
    @Value在Controller中取值
    Velocity根据模版生成静态html
    所谓人生
    用递归解决问题
    获取客户端IP
    windows下文件名非法字符
    各控件所支持的数据源格式
  • 原文地址:https://www.cnblogs.com/Lemonades/p/11578457.html
Copyright © 2011-2022 走看看