Linux 部署項目經驗總結


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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

寫在最后:

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM