Linux------环境配置(CentOS 7) 安装JDK Tomcat Nginx MySQL
Posted 柠檬茶lemon
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
本项目要用到的配置项: 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
以上是关于Linux------环境配置(CentOS 7) 安装JDK Tomcat Nginx MySQL的主要内容,如果未能解决你的问题,请参考以下文章
Linux------环境配置(CentOS 7) 安装JDK Tomcat Nginx MySQL
Linux centos6.8与7.2在虚拟机上安装后配置成实验环境命令及变化对比