Linux 部署項目經驗總結

 【通用命令】
   1.建立文件夾html

 mkdir -p xxx java

 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 表示成功node

【運行環境安裝】mysql

  1、安裝 jdk 1.7
  參考資料點這裏linux

jdk1.7官網下載地址nginx

 1.解壓包
  tar -zxvf jdk-7u80-linux-x64.tar.gz c++

2.將jdk移動到 /usr/local  這個目錄下面
 mv jdk1.7.0_80/ /usr/local/ redis

3.配置環境變量sql

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
  參考這裏

2、安裝 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"   

3、安裝 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.安裝
  一、 ./configure --prefix=/usr/local/nginx  
  【此步驟可能會引起錯誤以下
  

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

  二、 make 

  三、 make install 

6.查看 nginx 安裝目錄
 whereis nginx 
備註:
//啓動命令
安裝路徑下的 /nginx/sbin/nginx 
//中止命令
安裝路徑下的 /nginx/sbin/nginx -s stop 
或者 :  nginx -s quit 
//重啓命令
安裝路徑下的 /nginx/sbin/nginx -s reload 

4、安裝 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;

 

5、安裝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 下執行數據庫腳本
    一、進入  MySQL:
     mysql -u 用戶名 -p 
    二、在 MySQL-Front 中新建你要建的數據庫,這時是空數據庫,如新建一個名爲 blog 的目標數據庫( mysql>create database blog; )
    三、輸入: mysql>use 目標數據庫名 
    四、導入文件: ysql>source 導入的文件名; 

  九、Nginx 403 forbidden 的解決辦法
  緣由:nginx.cnf 配置的 root 裏面的根目錄權限不足或根目錄內無已配置的首頁文件
  解決方案:
    一、 賦予權限給根目錄

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

      一、配置爲  ps –ef|grep nginx 下 nginx 進程的用戶 
      二、 user root (終極方案)
    二、 忽略,或者將index.html 文件放進根目錄
    三、參考這裏

  十、沒法獲取網絡
    方法一
       vi /etc/sysconfig/network-scripts/ifcfg-ens33 
      將 ONBOOT=no  改爲 ONBOOT= yes 
      重啓服務 service network restart 
    方法二
    (方法一無效時使用)
      關閉網絡管理
       systemctl stop NetworkManager 
      重啓網絡管理
       systemctl start network.service 
    (網絡詳解見問題12)
  十一、mysql 報錯 Access denied for user ''@'localhost' to database
    解決方案:將 mysql 庫中 user 表裏面全部用戶名爲空的數據刪除,重啓便可
  十二、VMware 虛擬機下 linux 網絡配置
    上網方式選擇
      橋接:虛擬機能鏈接互聯網,而且外部部網絡和局域網都能訪問到虛擬機
      NAT:虛擬機能鏈接互聯網,可是不在乎虛擬機與宿主機是否能通訊(好比鏈接 SSH),外部網絡不能訪問虛擬機
      僅主機:虛擬機不能鏈接互聯網,而且虛擬機與宿主機可以相互通訊

    【橋接模式】虛擬機中參考配置
      一、編輯網卡配置文件
         vim /etc/sysconfig/network-scripts/ifcfg-eth0 

        --若不存在 ehh0 可在同目錄中尋找其餘配置文件,具體文件名可查詢網絡配置 ifconfig –a
      二、關鍵參數修改
        ONBOOT : 是否啓用網卡
        需修改成【yes】,不然之後每次都要使用【ifup eth0】啓動網卡
        BOOTPROTO : 獲取IP 方式
        【static】靜態 IP、【dhcp】動態分配、【none】不使用

        一、若使用【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 重啓網絡服務,便可聯網
      二、 若使用【dhcp】動態分配的方式獲取 IP,須要修改以下配置

ONBOOT=yes
BOOTPROTO=dhcp

    【僅主機】虛擬機中參考配置
      一、共享網絡
       若是要使得虛擬機能聯網,咱們能夠將主機網卡共享給 VMware Network Adapter VMnet1 網卡,從而達到虛擬機聯網的目的。接下來,咱們就來測試一下。
       首先設置「虛擬網絡編輯器」,能夠設置 DHCP 的起始範圍。

      二、虛擬機設置
       設置虛擬機爲Host-Only模式。

      三、網卡配置設置
       開機啓動系統,而後設置網卡文件。

 



      四、測試通訊
       保存退出,而後重啓網卡,利用遠程工具測試可否與主機通訊。

 

over~

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

寫在最後:

第一次寫博客,可能會有些排版或者邏輯方面有疏忽或者錯漏,但願各位大佬能不吝指教,萬分感謝~

相關文章
相關標籤/搜索