(已解決)http500服務器內部錯誤,另一解法
- 分類:博文-IT資訊
- 發(fā)布于 2016年8月28日
- 作者:Super User
- 點擊數:4938
一、環(huán)境
Ubuntu14.04 + PHP5.0 + apache2 + mysql5.5
二、現象
訪問網站時,瀏覽器提示“HTTP 500 內部服務器錯誤”;本地http://localhost訪問也是同樣問題。
三、原因
打開/var/log/apache2/error.log,發(fā)現最近的一條記錄顯示
“[Sun Aug 28 03:19:23.224588 2016] [core:alert] [pid 1286] [client 180.76.14.12:33858] /var/www/config: Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration
"/var/log/apache2/error.log" [readonly] 2973 lines, 743014 characters
”
四、解決辦法
1、sudo a2enmod rewrite
2、sudo vim /etc/apache2/sites-enabled/000-default
將其中的:
AllowOverride None
修改為:
AllowOverride All
3、sudo /etc/init.d/apache2 restart
(已解決)WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
- 分類:博文-IT資訊
- 發(fā)布于 2016年8月28日
- 作者:Super User
- 點擊數:17133
一、環(huán)境
Ubuntu 14.04 + Ubuntu 16.04 + SCP
二、原因
Ubuntu 14.04重裝了ssh 服務端,在16.04上能夠ssh登錄,但不能scp,原因是16.04上的~/.ssh/known_hosts文件內的驗證沒有更新,出現以下提示:
long@long:~/.ssh$ sudo scp -P 2250 ./桌面/logist.sql
該Email地址已收到反垃圾郵件插件保護。要顯示它您需要在瀏覽器中啟用JavaScript。
:/var/www
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@??? WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!???? @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:Uz6iC5uYv2duVNZUiv6uGnh20MSjTIuT6zqkea/8XSE.
Please contact your system administrator.
Add correct host key in /root/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /root/.ssh/known_hosts:2
? remove with:
? ssh-keygen -f "/root/.ssh/known_hosts" -R [218.X.X.202]:2250
ECDSA host key for [218.X.X.202]:2250 has changed and you have requested strict checking.
Host key verification failed.
lost connection
三、解決辦法
更新ECDSA即可,命令如下:
long@long:~/.ssh$ sudo ssh-keygen -f "/root/.ssh/known_hosts" -R [218.X.X.202]:2250
# Host [218.X.X.202]:2250 found: line 2
/root/.ssh/known_hosts updated.
四、結果
long@long:~/.ssh$ sudo scp -P 2250 ./桌面/logist.sql 該Email地址已收到反垃圾郵件插件保護。要顯示它您需要在瀏覽器中啟用JavaScript。 :/var/www
The authenticity of host '[218.X.X.202]:2250 ([218.X.X.202]:2250)' can't be established.
ECDSA key fingerprint is SHA256:Uz6iC5uXv2duYNZUiv6uZnh20MSjTIuT6zqkea/8XSE.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[218.X.X.202]:2250' (ECDSA) to the list of known hosts.
該Email地址已收到反垃圾郵件插件保護。要顯示它您需要在瀏覽器中啟用JavaScript。 's password:
logist.sql 100% 57MB 285.5KB/s 03:25
(已解決)ubuntu無法解析主機
- 分類:博文-IT資訊
- 發(fā)布于 2016年8月24日
- 作者:Super User
- 點擊數:11153
Ubuntu系統(tǒng),系統(tǒng)提示“無法解析主機”,只需修改/etc/hosts文件,修改完之后要重啟網絡。
具體過程如下:
1、修改hosts
sudo gedit /etc/hosts
2、添加解析記錄( . )
127.0.0.1 localhost.localdomain localhost
127.0.0.1 localhost
3、保存后重啟網絡
sudo /etc/init.d/networking restart
ubuntu安裝mysql并修改默認目錄
- 分類:博文-IT資訊
- 發(fā)布于 2016年8月11日
- 作者:Super User
- 點擊數:5132
?
一、安裝
sudo apt-get install mysql-server mysql-client
二、查看安裝端口情況
sudo netstat -tap | grep mysql
?
三、配置文件位置
sudo vim /etc/mysql/my.cnf
?
四、打開關閉服務
/etc/init.d/mysql start/stop
?
五、卸載
sudo apt-get autoremove --purge mysql-server-5.5.43
sudo apt-get remove mysql-server
sudo apt-get autoremovemysql-server
sudo apt-get remove mysql-common
dpkg -l | grep ^rc| awk '{print $2}' | sudo xargsdpkg -P
?
六、其它文件默認位置
/usr/bin 客戶端程序和腳本
/usr/sbin mysqld 服務器
/var/lib/mysql 日志文件,數據庫 [重點要知道這個]
/usr/share/doc/packages 文檔
/usr/include/mysql 包含(頭)>文件
/usr/lib/mysql 庫
/usr/share/mysql 錯誤消息和字符集文件
/usr/share/sql-bench 基準程序
?
七、將數據目錄移到/data/mysql
sudo service mysql stop?????????????????????? #停止MySQL 服務
mv /var/lib/mysql /data????????????????????? ? ? #移動數據
vi /etc/mysql/my.cnf?????????????????????????????? #將datadir對應的值改為/data/mysql
vi /etc/apparmor.d/usr.sbin.mysqld??????? #將所有/var/lib/mysql改為/data/mysql
sudo service apparmor restart?????????????? #重啟appparmor服務
sudo service mysql start??????????????????????? #重啟mysql服務
ubuntu常用命令之--apt-get用法
- 分類:博文-IT資訊
- 發(fā)布于 2016年8月09日
- 作者:Super User
- 點擊數:4479
?
?
如何在ubuntu下面直接查找想要安裝的軟件?
?
?
比如我想安裝curl for php的插件,但是我又不知道ubuntu里面有哪些版本,也不知道都需要裝什么,但是我能確認我裝的是curl,那么我就可以用搜索命令:例如:apt-cache search curl | grep php,這樣我就會得到以下的結果:
php-curl - CURL module for PHP [default]
php7.0-curl - CURL module for PHP
php-http-request2 - Provides an easy way to perform HTTP requests
php-picofeed - Modern library to handle RSS/Atom feeds
?
這樣我就知道,ubuntu的軟件庫里面有php7.0-curl和php-curl,那么我就可以用apt-get install php7.0-curl去安裝了。
?
?
?
使用 apt-get upgrade 和 apt-get dist-upgrade 的結果基本上是一樣的,不過apt-get dist-upgrade 在升級的同時會為了解決依賴性而安裝新套件,而 apt-get upgrade 并不會,因此要升級的話,建議還是用 apt-get dist-upgrade 較佳。
另外,
?
update 是同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,這樣才能獲取到最新的軟件包。
upgrade 是升級已安裝的所有軟件包,升級之后的版本就是本地索引里的,因此,在執(zhí)行 upgrade 之前一定要執(zhí)行 update, 這樣才能是最新的。
?
?
?
apt-cache search
?
搜尋:我們可以用這個指令來搜尋升級包,
?
例如:apt-cache search httpd,
?
apt-cache depends
?
相依性:我們可以用這個指令來看到軟件包的所有相依性檔案
?
例如:apt-cache depends httpd,
?
?
?
apt-get install
?
安裝:安裝軟件包,
?
例如:apt-get install httpd,這樣 apt 就會自動上網下載httpd 回來安裝,若httpd 有相依性套件的時候,apt 也會自動下載安裝
?
?
?
apt-get clean
?
清除:當使用 apt-get install 指令安裝套件,下載下來的 rpm 會放置於 /var/cache/apt/archives,使用 apt-get clean 指令可以將之清除,避免占用硬碟空間
?
?
?
apt-get remove
?
移除:例如:apt-get remove httpd,就會移除 httpd 了,假如有相依性套件的時候,apt 也會一并移除
?
以上這幾個指令應該就夠用了,若想要得到更進一步的指令,請善用 man
?
?
?
apt-get update
?
更新:這指令是用來取得記錄在 /etc/apt/sources.list 內的遠端服務器的套件檔案清單 在使用 「apt-get dist-upgrade」指令升級套件前,一定要記得先用這條指令將套件檔案清單更新
?
apt-get dist-upgrade
?
升級:這里的升級主要是根據已有的軟件包更新而言,并不是更新整個系統(tǒng),也可以使用圖形界面的新立得包管理器:)
?
如果沒有安裝這個管理器的話,可以執(zhí)行以下指令
?
apt-get install synaptic
?
安裝完畢后,直接在命令行上敲入synaptic就可以啟動了。
?
?
?
ubuntu下apt-get命令參數
?
?
?
常用的APT命令參數
?
apt-cache search package 搜索包
?
apt-cache show package 獲取包的相關信息,如說明、大小、版本等
?
apt-cache depends package 了解使用依賴
?
apt-cache rdepends package 查看該包被哪些包依賴
?
sudo apt-get install package 安裝包
?
sudo apt-get install package --reinstall 重新安裝包
?
sudo apt-get -f install 修復安裝"-f = --fix-missing"
?
sudo apt-get remove package 刪除包
?
sudo apt-get remove package --purge 刪除包,包括刪除配置文件等
?
sudo apt-get update 更新源
?
sudo apt-get upgrade 更新已安裝的包
?
sudo apt-get dist-upgrade 升級系統(tǒng)
?
sudo apt-get dselect-upgrade 使用 dselect 升級
?
sudo apt-get build-dep package 安裝相關的編譯環(huán)境
?
apt-get source package 下載該包的源代碼
?
sudo apt-get clean && sudo apt-get autoclean 清理無用的包
?
sudo apt-get check 檢查是否有損壞的依賴
?
?
?
其中:
?
1 有SUDO的表示需要管理員特權!
?
2 在UBUNTU中命令后面參數為短參數是用“-”引出,長參數用“--”引出
?
3 命令幫助信息可用man 命令的方式查看或者
?
命令 -H(--help)方式查看
?
4 在MAN命令中需要退出命令幫助請按“q”鍵?。?/p>
?
選項 含義 作用
?
sudo -h Help 列出使用方法,退出。
?
sudo -V Version 顯示版本信息,并退出。
?
sudo -l List 列出當前用戶可以執(zhí)行的命令。只有在sudoers里的用戶才能使用該選項。
?
sudo -u username|#uid User 以指定用戶的身份執(zhí)行命令。后面的用戶是除root以外的,可以是用戶名,也可以是#uid。
?
sudo -k Kill 清除“入場卷”上的時間,下次再使用sudo時要再輸入密碼。
?
sudo -K Sure kill 與-k類似,但是它還要撕毀“入場卷”,也就是刪除時間戳文件。
?
sudo -b command Background 在后臺執(zhí)行指定的命令。
?
sudo -p prompt command Prompt 可以更改詢問密碼的提示語,其中%u會代換為使用者帳號名稱,%h會顯示主機名稱。非常人性化的設計。
?
sudo -e file Edit 不是執(zhí)行命令,而是修改文件,相當于命令sudoedit
?