Linux(Ubantu,Centos) 後端環境部署,問題解決[不定期更新]

一:node,npm環境部署

官網查看最新版本連接:https://nodejs.org/dist/v12.2.0/node-v12.2.0-linux-x64.tar.xz

https://nodejs.org/dist/v12.2.0/node-v12.2.0-linux-x64.tar.xz
tar xf  node-v10.11.0-linux-x64.tar.xz       // 解壓
cd node-v10.11.0-linux-x64/                  // 進入解壓目錄

ln -s /xxx/node-vxxx-linux-x64/bin/node   /usr/local/bin/

ln -s /xxx/node-vxxx-linux-x64/bin/npm   /usr/local/bin/     【軟連接需要絕對路徑】

注: 如果出現npm已經存在,node 已經存在

root@ubuntu:~$ sudo rm -rf /usr/local/bin/node

root@ubuntu:~$ sudo rm -rf /usr/local/bin/npm

完成之後:

  root@ubuntu:~$ node -v v12.11.0                root@ubuntu:~$ npm -v 6.4.1

二:LNMP 、LAMP、LNMT、LNMH 全自動安裝

全自動安裝網址  https://oneinstack.com/auto/   

例:LNMP => Linux+nginx+mysql + php  (如下圖)

        版本可以隨意得選擇,一鍵安裝,超級方便(感謝 OneinStack 出了這麼好一個部署腳本)

        選擇完後複製命令執行即可,重啓後生效。

三:ngnix隱藏index.php 

在http{ server{ location {#代碼處} }}裏寫代碼

location / {

  if ( !-e $request_filename ) {

    rewrite ^/(.*)/index.php?s=/index.php?s=1 last;

    break;

  }

}

 

四:ngnix強制跳轉https訪問 (http->https)

server {  

    listen  192.168.x.xx:80;  

    server_name xxx.com;  

   rewrite ^(.*)$  https://$host$1 permanent;  //添加詞句

}  

五:Ubuntu 完全徹底卸載Mysql

1:第一種

sudo rm /var/lib/mysql/ -R

刪除mysql的數據文件

sudo rm /etc/mysql/ -R

刪除mqsql的配置文件

sudo apt-get autoremove mysql* --purge

sudo apt-get remove apparmor

自動卸載mysql的程序

2:第二種

首先刪除mysql:

sudo apt-get remove mysql-* [它會跳出一個對話框,你選擇yes就好了 ]

dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P

 4:第三種 

a. sudo apt-get autoremove --purge mysql-server-5.0

b. sudo apt-get remove mysql-server

c. sudo apt-get autoremove mysql-server

d. sudo apt-get remove mysql-common (非常重要)

上面的其實有一些是多餘的,建議還是按照順序執行一遍

2. 清理殘留數據

dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P

六:Apache服務器出現錯誤:AH00558: apache2: Could not reliably determine the server's fully .. 解決方法

 在Unbuntu中重啓Apache服務器出現錯誤:AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1.等等。解決方法:     

 $ sudo vim /etc/apache2/apache2.conf

  最後加入一句: ServerName localhost:80

七:ubuntu/centos 鬆動安裝Mysql並且關聯PHP 

1.sudo apt-get install mysql-server-5.6

2.測試是否安裝成功

   ps aux |grep mysql

   mysql -u root -p (進入數據庫)

3:關聯PHP

  apt-get install php5-mysql

八:Ubuntu開機自動啓動腳本

 1:編寫Shell 腳本 test.sh

 2: 將腳本權限   chmod -R 777  test.sh     並移至到/etc/init.rc 下

 3:

設置腳本啓動

sudo update-rc.d ptt.sh  defaults 95.

卸載啓動腳本

sudo update-rc.d -f test remove

注:

  

 腳本規則 :

#! /bin/bash

### BEGIN INIT INFO

# Provides:          land.sh

# Required-start:    $local_fs $remote_fs $network $syslog

# Required-Stop:     $local_fs $remote_fs $network $syslog

# Default-Start:     2 3 4 5

# Default-Stop:      0 1 6

# Short-Description: starts the svnd.sh daemon

# Description:       starts svnd.sh using start-stop-daemon

### END INIT INFO

.(做一些腳本工作)

九:Errors were encountered while processing的解決辦法,sudo apt-get upgrade遇到問題,sudo apt-get install遇到問題 

 問題描述:在Ubuntu執行更新sudo apt-get upgrade或者利用sudo apt-get install安裝軟件包時遇到:Errors were encountered while processing,查看錯誤信息發現:2 not fully installed or removed,如下:

root@iZt4n7en5ngj5l9s7w90klZ:~# apt-get upgrade 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
The following packages have been kept back:
  linux-generic-lts-xenial linux-headers-generic-lts-xenial
  linux-image-generic-lts-xenial
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
2 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] y
Setting up php5-mysql (5.5.9+dfsg-1ubuntu4.29) ...
dpkg: error processing package php5-mysql (--configure):
 subprocess installed post-installation script returned error exit status 10
Setting up grub-pc (2.02~beta2-9ubuntu1.17) ...
dpkg: error processing package grub-pc (--configure):
 subprocess installed post-installation script returned error exit status 10
Processing triggers for libapache2-mod-php5 (5.5.9+dfsg-1ubuntu4.29) ...
Errors were encountered while processing:
 php5-mysql
 grub-pc
E: Sub-process /usr/bin/dpkg returned an error code (1)
root@iZt4n7en5ngj5l9s7w90klZ:~# cd /var/lib/dpkg

解決方法: 
cd /var/lib/dpkg 
sudo mv info info.bak 
sudo mkdir info 
sudo apt-get upgrade 

 

 

十:輸出PHP 編碼時 500 (Internal Server Error) 具體錯誤

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

 出錯的話,就可以彈出具體的錯誤位置!

十一:Ubuntu徹底刪除/卸載mysql,php,apache

一、卸載刪除 mysql

1 sudo apt-get autoremove --purge mysql-server-5.0
2 sudo apt-get remove mysql-server
3 sudo apt-get autoremove mysql-server
4 sudo apt-get remove mysql-common (非常重要)

清理殘留數據:

dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
sudo find /etc -name "*mysql*" |xargs rm -rf 

最後用 dpkg -l | grep mysql 檢查,如無返回即乾淨卸載


二、卸載刪除apache

sudo apt-get --purge remove apache-common
sudo apt-get --purge remove apache

找到沒有刪除掉的配置文件,一併刪除

sudo find /etc -name "*apache*" |xargs rm -rf 
sudo rm -rf /var/www
sudo rm -rf /etc/libapache2-mod-jk
sudo rm -rf /etc/init.d/apache2
sudo rm -rf /etc/apache2

刪除關聯,

dpkg -l |grep apache2|awk '{print $2}'|xargs dpkg -P

刪除svn
sudo apt-get remove subversion
sudo apt-get remove libapache2-svn

最後用 dpkg -l | grep apache 和 dpkg -l | grep apache2檢查,如無返回即乾淨卸載


三、卸載刪除php

sudo apt-get –purge remove libapache2-mod-php5 php5 php5-gd php5-mysql
sudo apt-get autoremove php5

刪除關聯,
sudo find /etc -name "*php*" |xargs rm -rf 

清楚殘留信息
dpkg -l |grep ^rc|awk ’{print $2}’ |sudo xargs dpkg -P

最後用 dpkg -l | grep php 和dpkg -l | grep php5 檢查,如無返回即乾淨卸載

腳本刪除Mysql:

#!/bin/bash

list=`sudo find / -name mysql*`

for i in $list

do

sudo rm -rf $i

done

exit 0
  • 給這個腳本加上執行權限後執行

sudo chmod u+x deleteMysql.sh

sudo ./deleteMysql.sh

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章