【通用命令】
   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~

写在最后:

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

Linux 部署项目经验总结的更多相关文章

  1. Linux部署项目遇到问题解决

    使用Linux部署web项目,可能会遇到各种各样问题导致服务启动失败,以下是我近期部署项目遇到的问题以及解决方案 一.场景:把war包放入tomcat的webapps文件夹下,然后启动tomcat服务 ...

  2. Linux部署项目 shell脚本启动 及 Centos7开放指定端口

    我们首先要在linux上安装好jdk   tomcat   mysql  这些基本环境,这些可以在楼主的  Linux入门   里面找到. linux部署spring项目 1. 右击项目,maven ...

  3. linux部署项目(前后端分离项目)

    参考博客 技术栈 路飞学城部署 vue + nginx + uwsgi + django + mysql + redis(就是一个key - value型数据库,缓存型数据库,内存型数据库) 部署步骤 ...

  4. 解决linux部署项目后,第一次访问初始化数据源的时候很慢的问题

    先说一下场景 测试环境是linux - centos6.5,项目是分布式的,分别搭建到linux上 数据货使用的是阿里巴巴数据源 每次重启后的第一次访问会比较慢,查看日志发现 卡在这个地方 ...{d ...

  5. Linux部署项目

    1 安装jdk 第一步:获取Linux系统中jdk安装包和tomcat安装包(后面要用,所以上传两个) 第二步:使用secureCRT客户端工具连到服务器 第三步:使用命令创建一个目录,作为软件的安装 ...

  6. 初玩Linux部署项目

    1,先安装虚拟机2,安装centOS3,安装mysql 安装mysql客户端: yum install mysql 安装mysql 服务器端: yum install mysql-server yum ...

  7. Linux部署项目简要记录【只是步骤没有配图】

    1.服务器(192.168.1.197)新建数据库jspxcms_1206,导入数据2.eclipse打war包3.上传war包到/home/app/apache-tomcat-7.0.68/weba ...

  8. Linux部署项目常用命令

    前言:一般项目都会使用阿里云等服务器作为云服务器.此时必不可免会使用到一系列常用的命令.这里我整合一下常用的命令 1.一般链接阿里云服务器常用的的是xshell跟xftp. 下载路径:https:// ...

  9. linux部署项目访问mysql问题

    springboot以war包形式传到webapps下面,mysql创建库和表,war包里配置数据源是localhost,然后运行tomcat是没有问题的,可以访问通mysql正常请求服务. ssm以 ...

随机推荐

  1. spring boot integrated mybatis three ways!--转

    https://github.com/spring-projects/spring-boot/issues/5400 一.使用mybatis-spring-boot-starter1.添加依赖 org ...

  2. (转载) Android 带清除功能的输入框控件ClearEditText,仿IOS的输入框

    Android 带清除功能的输入框控件ClearEditText,仿IOS的输入框 标签: Android清除功能EditText仿IOS的输入框 2013-09-04 17:33 70865人阅读  ...

  3. swift语言点评六-Numbers and Basic Values

    Topics Logical Values struct Bool A value type whose instances are either true or false. Numeric Val ...

  4. 3ds Max怎么制作亮木材质的球体

    3DSMax怎么制作亮木材质的球体?3DSMax中想要设计一款亮木材质的球体,该怎么设置呢?下面我们就来看看详细的教程,需要的朋友可以参考下! 1.运行软件,选择材质编辑器图标: 3.双击拖拽出的材质 ...

  5. ZBrush雕刻生物小技巧

    本教程主要学习如何使用ZBrush®3D图形绘制软件的工具和笔刷雕刻酷酷的生物造型,我们今天来看看在游戏.媒体和电视领域有着十几年丰富经验的3D角色艺术家Francis-Xavier Martins是 ...

  6. MySQL常用技能篇

    写在之前的话: 之前一直在用MSSERVER,刚用MySQL时有很多的不适应.就此小结一下工作中遇到的问题和场景(用的不是很深入,供初学者参考),文中出现的局限性欢迎指出 MySQL有客户端式(SQL ...

  7. C语言Huffman压缩和解压

    符号表结构体: struct node { // 字符串形式存储的Huffman编码 char code[MAX_CODE_LENGTH]; // 这个字符在文件中出现的次数 long count; ...

  8. Linux命令之bc - 浮点计算器、进制转换

    用途说明 Bash内置了对整数四则运算的支持,但是并不支持浮点运算,而bc命令可以很方便的进行浮点运算,当然整数运算也不再话下.手册页上说bc是An arbitrary precision calcu ...

  9. dockerhub 推送镜像

    登录dockerhub [root@riyimei-node1:/home] > docker login Login with your Docker ID to push and pull ...

  10. linux 调试相关命令

    1. tail -f filename 调试时,log输出到文件,但是又想看到即时输出信息 未完待续....