【通用命令】
   1.创建文件夹

mkdir -p xxx

2.解压包
 tar -zxvf xxxx.tar.gz 
 3.缩文件
 tar zcvf 压缩包名称.tar.gz 要压缩的文件 
 4.动命令
 mv 文件 移动到的位置 
 5添加服务
 chkconfig --ad 
 6赋权
 chmod -R 777 xxx 
 7.想开的端口是否已开
 firewall-cmd --query-port=666/tcp  
提示 no 表示未开
 8开永久端口号
 firewall-cmd --add-port=666/tcp --permanent  
提示 success 表示成功

【运行环境安装】

  一、安装 jdk 1.7
  参考资料点这里

jdk1.7官网下载地址

1.解压包
  tar -zxvf jdk-7u80-linux-x64.tar.gz

2.将jdk移动到 /usr/local  这个目录下面
 mv jdk1.7.0_80/ /usr/local/

3.配置环境变量

  vim /etc/profile

  export JAVA_HOME=/usr/local/jdk1.7.0_80
export JRE_HOME=$JAVA_HOME/jre
export PATH=$PATH:/$JAVA_HOME/bin
export CLASSPATH=./:/$JAVA_HOME/lib:/$JAVA_HOME/jre/lib

4.重新加载文件
 source /etc/profile

5.检查是否安装成功
 java -version

其他:
  1.如果linux本身安装了 linux jdk,可以通过如下命令查找对应安装目录
    which java 
  2.如何更改默认 jdk 为自己刚刚安装的jdk
  参考这里

二、安装 tomcat 8

1.上传 tomcat 文件,首选 tomcat8
安装包自行下载 
2.解压包
 tar –zxvf 路径/包名 
3.修改防火墙端口放行
 firewall-cmd --add-port=8080/tcp --permanent  
提示 success 表示成功
4.启动 tomcat,停止tomcat
进入  tomcat/bin  ,执行
 ./startup.sh 
 ./shutdown.sh

5.查看tomcat运行情况

ps -ef|grep tomcat

6.添加tomcat服务
1.复制服务脚本tomcat/bin/catalina.sh到/etc/init.d
 cp $ CATALINA _ HOME /bin/catalina.sh /etc/init.d/tomcat 
2.修改该脚本
-a.在第三行插入
 chkconfig: 2345 10 90 
 description:Tomcat service 
-b.设置java环境变量到该脚本中
 CATALINA_HOME=/usr/local/tomcat/apache-tomcat-8.5.35-8070 
 JAVA_HOME=/usr/local/jdk1.7.0_80

3.设置服务脚本为可执行权限
 chmod 755 /etc/init.d/tomcat

4.添加(注册)服务
 chkconfig --add tomcat 
5.开机启动
 chkconfig tomcat on

6.tomcat 调优

vi /usr/local/apache-tomcat-7.0.63/bin/catalina.sh 
 JAVA_OPTS="-server -Xms1024m -Xmx10240m -XX:PermSize=128m -XX:MaxPermSize=512m -XX:MaxNewSize=128m"   

三、安装 nginx
  重点:nginx 首先要安装 gcc 等依赖库,之后无论是否有网络都可以进行安装

1.利用 yum 安装依赖
 yum -y install gcc gcc-c++ gdb  
备注:如果服务器无法访问网络,则需要利用挂载技术,重新指定本地的 yum 源

2.利用ftp工具,上传 nginx 响应依赖包,参考路径为 /home/wljy/nginx

——有网络情况下安装方法——
1.检查是否已经安装 nginx
 find -name nginx

2.卸载已有的 nginx
 yum remove nginx

3.下载 nginx 或者使用 ftp 上传到 /usr/local/src
 wget http://nginx.org/download/nginx-1.14.1.tar.gz

4.解压包
 tar -zxvf nginx-1.14.1.tar.gz

5.安装
  1、 ./configure --prefix=/usr/local/nginx  
  【此步骤可能会引发错误如下
  

处理方案: yum -y install pcre-devel openssl openssl-devel 】

  2、 make

  3、 make install

6.查看 nginx 安装目录
 whereis nginx 
备注:
//启动命令
安装路径下的 /nginx/sbin/nginx 
//停止命令
安装路径下的 /nginx/sbin/nginx -s stop 
或者 :  nginx -s quit 
//重启命令
安装路径下的 /nginx/sbin/nginx -s reload

四、安装 mysql5.6

1.卸载系统自带的 mariadb
 rpm -qa|grep mariadb 
 rpm -e --nodeps  上句命令查出来的命令
2.删除原有的 my.cnf
 rm /etc/my.cnf 
3.创建 mysql 用户组
 groupadd mysql 
4.创建 mysql 用户
 useradd -g mysql mysql 
5.上传 mysql 安装包并解压到 /usr/local
 tar -zxvf mysql-5.6.42-linux-glibc2.12-x86_64.tar.gz 
 mv mysql-5.6.42-linux-glibc2.12-x86_64 mysql 
 mv mysql /usr/local 
6.复制配置文件 my.cnf 到 etc 目录下
 cd /usr/local/mysql/support-files 
 cp my-default.cnf /etc/my.cnf 
修改对应内容为

 [mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
socket=/var/lib/mysql/mysql.sock [mysqld]
skip-name-resolve
#设置3306端口
port = 3306
socket=/var/lib/mysql/mysql.sock
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
lower_case_table_name=1
max_allowed_packet=16M

备注:资源包中已经包含了修改好的 my.cnf,可直接复制到指定路径下

7.执行安装步骤

 cd /usr/local/mysql 
 chown -R mysql:mysql ./ 
 ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ 

此操作可能会触发找不到 prel 依赖包的错误
解决方案:先执行 yum install -y perl-Module-Install.noarch  再执行初始化 mysql 操作
8:修改当前data目录的拥有者为 mysql 用户
 chown -R mysql:mysql data 
9.授权my.cnf,否则会无法创建各类文件
 chmod 777 /etc/my.cnf 
10.设置开机自启动
 cd /usr/local/mysql 
 cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld 
 chmod +x /etc/rc.d/init.d/mysqld 
 chkconfig --add mysqld  ##将 mysql 的服务加到系统服务
 chkconfig --list mysqld  ##检查服务是否生效
11.运行 msql
 service mysqld start/stop/restart 
12.将 mysql 的 bin 目录加到 path 环境变量中,使 mysql 命令可用
 cd ~ 
 vi .bash_profile 
输入“E”,代表编辑改文件。
 export PATH=$PATH:/usr/local/mysql/bin 
按一下 "esc" 键 ,结束编辑;
 source .bash_profile 
13.登录 mysql,mysql 默认是没有密码的,直接回车就可以
 mysql -u root -p 
14.更改root密码

 mysql>use mysql;
mysql>update user set password=password('gxogMB$9YV') where user='root' and host='localhost';
mysql>flush privileges;

15.设置远程主机登录:

 mysql>GRANT ALL PRIVILEGES ON *.* TO 'wljy'@'%' IDENTIFIED BY 'gxogMB$9YV' WITH GRANT OPTION;

 mysql>flush privileges;

五、安装redis

1.上传安装文件到  /home/wljy/redis 
安装包自行下载
2.解压包,复制解压文件到 /usr/local/src 
3.编译安装tcl
 cd /usr/local/src/tcl8.6.1/unix 
 ./configure && make && make install 
4.安装 redis
 cd /usr/local/src/redis-4.0.6/src 
 make MALLOC=libc && make install 
5.配置redis

mkdir -p /etc/redis
mkdir -p /var/redis/6379
mkdir -p /var/log/redis/6379
cp /usr/local/src/redis-4.0.6/redis.conf /etc/redis/6379.conf
cp /usr/local/src/redis-4.0.6/utils/redis_init_script /etc/init.d/redisd
chmod 755 /etc/init.d/redisd

6.修改 redis 配置参数

vi /etc/redis/6379.conf

daemonize yes
pidfile /var/run/redis_6379.pid
port 6379
dir /var/redis/6379
logfile "/var/log/redis/6379/redis.log"
requirepass dev2017
bind 127.0.0.1#此配置可导致外网链接失败
protected-mode no

7.修改内核信息

vi /etc/sysctl.conf

vm.overcommit_memory = 1 

sysctl -p

8.redis 启动测试

cd /etc/init.d/
./redisd start

9.redis 添加服务
 vi /etc/init.d/redisd 
//添加 chkconfig 和 description 两行 不然会提示 服务 redisd 不支持  chkconfig
//start下面的 "$EXEC $CONF"改为"$EXEC $CONF &" 否则无法后台运行

chkconfig: 2345 90 10
description: Redis is a persistent key-value database chkconfig --add redisd

备注:现在已经可以通过服务启动或关闭redis,相关命令如下

service redisd start
service redisd stop【防火墙对应端口号放行】

 ——防火墙配置方法  firewall ——

  1.查询端口号80 是否开启:
  firewall-cmd --query-port=80/tcp
  2.永久开放80端口号:
  firewall-cmd --permanent --zone=public --add-port=80/tcp
  3.查看防火墙状态:
  systemctl status firewalld.service
  4.启动|关闭|重新启动 防火墙
  systemctl [start|stop|restart] firewalld.service
  systemctl restart firewalld.service
  systemctl stop firewalld.service
  systemctl start firewalld.service

——防火墙配置方法二— iptables ——

    配置防火墙
  //打开防火墙文件
  sudo vi /etc/sysconfig/iptables
  //新增行 开放80端口
  -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
  //保存退出
  //重启防火墙
  sudo service iptables restart

【挂载磁盘,添加本地 yum 源】
  虚拟机挂载时,是在已经运行的虚拟机上,利用光盘重新添加系统iso文件即可
  如果无法控制虚拟机的时候,可以将镜像文件复制到yum目录下,执行之后的配置即可

  1.创建文件

mkdir -p /mnt/yum-iso

mkdir /yum

  2.添加挂载
   mount -t auto /dev/cdrom /mnt/yum-iso/ 
  备注:dev 下的文件名称可根据实际情况修改
  3.复制文件到 yum 路径下
   cp -a /mnt/yum-iso/ /yum/ 
  4.备份 repo

cd /etc/yum.repos.d/
tar zcvf repo-bk.tar.gz CentOS-*
rm -f CentOS-Base.repo CentOS-CR.repo CentOS-Debuginfo.repo CentOS-fasttrack.repo CentOS-Sources.repo CentOS-Vault.repo

  5.编辑本地 repo 配置文件
   vi CentOS-Media.repo 

[c7-media]
name=CentOS-$releasever - Media
baseurl=file:///yum/yum-iso/
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

  6.制作 cache

yum clean all
yum makecache

  7.查看当前正在使用的yum源地址
   yum repolist all 
【其他问题记录】
  1.当centos没有安装ifconfig
     yum search ifconfig   yum install net-tools.x86_64 
  2.当安装openssl时提示,you need perl5,可通过 yum 安装 perl
   yum install perl* 
  3.【未解决】MySQL 无法重启问题解决 Warning: World-writable config file ‘/etc/my.cnf’ is ignored
  解析:在关闭数据库的命令发现 mysql 关不了,提示 Warning: World-writable config file ‘/etc/my.cnf’ is ignored ,大概意思是权限全局可写,任何一个用户都可以写。mysql 担心这种文件被其他用户恶意修改,所以忽略掉这个配置文件。这样 mysql 无法关闭

  4.部署完成后上传的图片无法查看,而服务器中已经上传成功
  解析:此问题是tomcat8出现的问题,需要修改 tomcat/bin/catalina.sh

  vi /usr/local/tomcat/tomcat-XXX/bin/catalina.sh
  :/umask,将0027改为0022

  修改完成后重启tomcat
  5.nginx make 时报 “make: *** No rule to make target `build', needed by `default'. Stop.”
  解析:没有预先安装 nginx 所需各种依赖,安装完成后执行 config 再执行 make

  6.机器硬件信息查询
  //查看系统位数、内核版本
   uname -a  
  //查看系统版本
   rpm -q centos-release 
  //磁盘分区和使用情况
   df -h 
  //查看 cpu 信息
   cat /proc/cpuinfo | grep name 
  //内存情况
   cat /proc/meminfo | head -4 
  7.tomcat 内存泄漏问题解决
  配置项:

JAVA_OPTS="-server -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m -XX:MaxNewSize=128m"

  备注:-Xmx 最大内存,不超过物理内存的1/2
  备注:

if [ $have_tty -eq 1 ]; then
(插入位置)
echo "Using CATALINA_BASE: $CATALINA_BASE"

  8.linux 下执行数据库脚本
    1、进入  MySQL:
     mysql -u 用户名 -p 
    2、在 MySQL-Front 中新建你要建的数据库,这时是空数据库,如新建一个名为 blog 的目标数据库( mysql>create database blog; )
    3、输入: mysql>use 目标数据库名 
    4、导入文件: ysql>source 导入的文件名;

  9、Nginx 403 forbidden 的解决办法
  原因:nginx.cnf 配置的 root 里面的根目录权限不足或根目录内无已配置的首页文件
  解决方案:
    1、 赋予权限给根目录

chmod –R 755 根目录地址
nginx.cnf 文件顶部配置:

      1、配置为  ps –ef|grep nginx 下 nginx 进程的用户 
      2、 user root (终极方案)
    2、 忽略,或者将index.html 文件放进根目录
    3、参考这里

  10、无法获取网络
    方法一
       vi /etc/sysconfig/network-scripts/ifcfg-ens33 
      将 ONBOOT=no  改成 ONBOOT= yes 
      重启服务 service network restart 
    方法二
    (方法一无效时使用)
      关闭网络管理
       systemctl stop NetworkManager 
      重启网络管理
       systemctl start network.service 
    (网络详解见问题12)
  11、mysql 报错 Access denied for user ''@'localhost' to database
    解决方案:将 mysql 库中 user 表里面所有用户名为空的数据删除,重启即可
  12、VMware 虚拟机下 linux 网络配置
    上网方式选择
      桥接:虚拟机能连接互联网,并且外部部网络和局域网都能访问到虚拟机
      NAT:虚拟机能连接互联网,但是不在意虚拟机与宿主机是否能通信(比如连接 SSH),外部网络不能访问虚拟机
      仅主机:虚拟机不能连接互联网,并且虚拟机与宿主机能够相互通信

    【桥接模式】虚拟机中参考配置
      1、编辑网卡配置文件
         vim /etc/sysconfig/network-scripts/ifcfg-eth0

        --若不存在 ehh0 可在同目录中寻找其他配置文件,具体文件名可查询网络配置 ifconfig –a
      2、关键参数修改
        ONBOOT : 是否启用网卡
        需修改为【yes】,否则以后每次都要使用【ifup eth0】启动网卡
        BOOTPROTO : 获取IP 方式
        【static】静态 IP、【dhcp】动态分配、【none】不使用

        1、若使用【staic】静态 IP 模式,需要修改如下配置

ONBOOT=yes
BOOTPROTO=staic
NETMASK=255.255.255.0#子网掩码,与宿主机一致 IPADDR=192.168.*.*#静态 IP 地址,与宿主机在同一网段内,且不能被其他设备占用
GATEWAY=192.168.1.1#网关,与宿主机一致

        之后,再编辑一下文件设置 DNS,否则能联网但是无法解析域名
         vim /etc/resolv.conf 
        该文件默认为空文件

nameserver 114.114.114.114
nameserver 8.8.8.8

        DNS 无需与宿主机一致,但是一定要设置,否则就使用 IP 吧

        最后使用 service network restart 重启网络服务,即可联网
      2、 若使用【dhcp】动态分配的方式获取 IP,需要修改如下配置

ONBOOT=yes
BOOTPROTO=dhcp

    【仅主机】虚拟机中参考配置
      1、共享网络
       如果要使得虚拟机能联网,我们可以将主机网卡共享给 VMware Network Adapter VMnet1 网卡,从而达到虚拟机联网的目的。接下来,我们就来测试一下。
       首先设置“虚拟网络编辑器”,可以设置 DHCP 的起始范围。

      2、虚拟机设置
       设置虚拟机为Host-Only模式。

      3、网卡配置设置
       开机启动系统,然后设置网卡文件。

      4、测试通信
       保存退出,然后重启网卡,利用远程工具测试能否与主机通信。

over~

写在最后:

第一次写博客,可能会有些排版或者逻辑方面有疏忽或者错漏,希望各位大佬能不吝指教,万分感谢~

最新文章

  1. 合并excel中多个sheet
  2. 夺命雷公狗—express—1—express的配置方法和目录结构分析
  3. 关键字throw(something)限制
  4. 在apache上报错“The _imaging C module is not installed”
  5. js观察者模式与Model
  6. rem是怎么计算的(转载)
  7. python 高阶函数之 reduce
  8. goflyway简单使用
  9. win8.1系统下安装ubuntu实现双系统实践教程
  10. spring cloud config与eureka配合使用
  11. ZooKeeper管理分布式环境中的数据
  12. 20155327 2017-2018-2 《Java程序设计》第9周学习总结
  13. springmvc拦截器的配置、使用
  14. JS笔记-强化版2
  15. WPF中Grid实现网格,表格样式通用类(转)
  16. JAVA基础 - 类的构造与实例化
  17. ArcGIS Server10.1之服务新特性(WMTS1.0.0) 【转】
  18. Java反射深入浅出
  19. ISIS Scanner Errors codes
  20. gridgroup行内编辑删除

热门文章

  1. BZOJ 4260 trie树
  2. python内置的一些模块
  3. Python 曲线拟合
  4. js指定区域全屏
  5. for 的相关用法
  6. 紫书 例题 10-4 UVa 10791(唯一分解定理)
  7. Redis加入Centos Linux开机启动
  8. Trustie站点代码托管使用指南
  9. hdu5282 最长公共子序列的变形
  10. Android中的跨进程通信方法实例及特点分析(一):AIDL Service