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目录像是用来存放命令的,所以你们放哪里随意啦

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 *; } }

安装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

猜你喜欢

转载自www.cnblogs.com/Lemonades/p/11578457.html