Linux 部署项目经验总结

2018-12-03 09:25:45来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

 【通用命令】
   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.配置环境变量

1  vim /etc/profile
2 
3  export JAVA_HOME=/usr/local/jdk1.7.0_80
4  export JRE_HOME=$JAVA_HOME/jre 
5  export PATH=$PATH:/$JAVA_HOME/bin 
6  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 
修改对应内容为

 1 [mysql]
 2 # 设置mysql客户端默认字符集
 3 default-character-set=utf8 
 4 socket=/var/lib/mysql/mysql.sock
 5 
 6 [mysqld]
 7 skip-name-resolve
 8 #设置3306端口
 9 port = 3306 
10 socket=/var/lib/mysql/mysql.sock
11 # 设置mysql的安装目录
12 basedir=/usr/local/mysql
13 # 设置mysql数据库的数据的存放目录
14 datadir=/usr/local/mysql/data
15 # 允许最大连接数
16 max_connections=200
17 # 服务端使用的字符集默认为8比特编码的latin1字符集
18 character-set-server=utf8
19 # 创建新表时将使用的默认存储引擎
20 default-storage-engine=INNODB
21 lower_case_table_name=1
22 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密码

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

 


15.设置远程主机登录:

1 mysql>GRANT ALL PRIVILEGES ON *.* TO 'wljy'@'%' IDENTIFIED BY 'gxogMB$9YV' WITH GRANT OPTION;
2 
3 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~

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

写在最后:

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

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Linux服务器---mysql忘记root密码

下一篇:非对称加密与GPG/PGP