linux上遇到的小問題

2021-06-20 11:57:30 字數 3583 閱讀 2224

這篇部落格,就一直更新吧,把平時專案中遇到的linux問題及解決方法都貼在這,以供自己以後檢視。

1、linux和windows共享目錄時,目錄名最好不要有數字,不然的話apache識別有問題。一般目錄共享後會在/mnt/hgfs目錄裡生成乙個windows環境上的目錄,如共享的目錄為server,但如果同時又在另乙個盤裡共享了同名的server目錄,這時得注意了,不要按照虛擬機器上預設目錄來,一般虛擬機器預設為server-1,去掉數字,改個名稱即可。我遇到的問題是按照虛擬機器的預設名稱,在thinkphp框架下識別不出目錄。

2、在svn環境下,使用php列出所有檔案時,得過濾掉.svn的,不然會有問題的。我遇到的問題的是在本地和本地虛擬機器上可以列出目錄下的所有檔案,但放在伺服器上,別啥也顯示不出,追了下,發現就只過濾了 . 和 .. ,沒有過濾 .svn的,加上這個條件後,便出來了。(原來php環境和虛擬機器的共享目錄,在虛擬機器上執行,是檢查不出那個.svn的)

3、在ngnix中遇到504 gateway time-out,一開始以為是網上所形容改寫nginx.conf的配置引數,後來發現不是,因為改了之後,還是這個情況,如果細心查詢,發現了問題所在,原來是**一開始在另乙個伺服器,mysql的位址就形成了該伺服器的ip,**移植時忘了修改mysql的主機位址。

4、專案移植後,敲上位址後,發現網上報錯,調出控制台發現原來伺服器的不支援重寫,於是去apache配置檔案裡開啟rewrite.so,把allowoverride none改為allowoverride all,重啟apache,就ok了。

6、最近都在看《鳥哥的私房菜》,發現裡面的內容確認幫助了我很多,如,由於工作性質,需經常用putty遠端登入伺服器,但有時看到的中文都顯示亂碼,一開始也不知道怎麼改,看了相關章節後,發現可以在命令列上敲入lang="zh_ch.utf-8",回車就ok了,當然了這個只是針對本次登入。

7、啟動mysql的時候報『mysql deamon failed to start』,這是selinux在作祟,關掉它即可,setenforce 0,或是在其配置檔案內/etc/selinux/config,把selinux=enforcing,改為selinux=disabled,重啟即可

9、linux上對於檔名是區分大小寫的,尤其是**從windows上移植到linux時,一定得注意這個,否則會出現「明明在本地(windows)好好的,上傳到伺服器就不顯示了呢」。

10、刪除軟連線,若是data目錄有個軟連線目錄uploads,刪除時使用rm -rf uploads,一定不能用rm -rf uploads/,後者會讓指定的目錄被刪除。

11、**打不開,進入伺服器後發現只能使用cd、ls簡單操作命令,連vi、cat、du等命令都沒有用,而且在刪除檔案時提示「唯讀系統」,在網上查了下說是要重啟伺服器,拔下硬碟,試了下果真有用,但其問題的原因還是沒有找到。

12、使用yum安裝lanmp環境,之後把專案放進去,提示「系統不支援mysql」,開啟phpmyadmin,也提示缺少mysqli擴充套件,後在伺服器的/usr/lib64/php/modules目錄檢視是否安裝了相關的mysql擴充套件,果真沒裝,使用yum -y install php-mysql,安裝成功後,重啟相關伺服器,就ok了。

13、配置好虛擬機器上的lanmp環境後,開啟phpmyadmin,輸入使用者名稱密碼,死活都進不去,提示「無法登入 mysql 伺服器」,後來在網上搜了下,找到了乙個解決辦法

將 「phpmyadmin/libraries」資料夾下的config.default.php檔案中的

$cfg['servers'][$i]['host'] = 'localhost';

修改為$cfg['servers'][$i]['host'] = '127.0.0.1';

14、禁止使用者通過網頁瀏覽伺服器目錄

#

# possible values for the options directive are "none", "all",

# or any combination of:

# indexes includes followsymlinks symlinksifownermatch execcgi multiviews

## note that "multiviews" must be named *explicitly* --- "options all"

# doesn't give it to you.

## the options directive is both complicated and important. please see

# # for more information.

# options -indexes followsymlinks

## allowoverride controls what directives may be placed in .htaccess files.

# it can be "all", "none", or any combination of the keywords:

# options fileinfo authconfig limit

# allowoverride all

## controls who can get stuff from this server.

# order allow,deny

allow from all

其實看的還是options -indexes followsymlinks,indexes前面的那個減號,apache預設的是,當web目錄下面沒有index.php或index.html檔案時,會顯示該目錄下的所有檔案及子目錄,加個減號就禁止顯示。

15、使用sudo提示使用者不在sudoers檔案中的解決方法

chmod 777 /etc/sudoers

vim /etc/sudoers

username all=(all) all

chmod 440 /etc/sudoers

16、殺掉nginx程序後丟失nginx.pid,如何重新啟動nginx

nginx -c /path/to/config/nginx.conf

nginx -s reload

17、配置nginx時,出現「"worker_processes" directive is not allowed here」,是因為引入塊出現問題,如,在http塊中加上"include *.conf";這個是會出現問題的,因為會把自己也引入進來,當然會出現問題了,那麼只需加個子配置目錄即可,然後「include subconf/*.conf」就行了

18、磁碟滿了,如何找出大檔案在哪

#檢視系統磁碟使用情況

df -lh

#進入根目錄,執行,可以檢視每個占用大小

du -shx *

19、bash: syntax error near unexpected token `(',原來是「發現linux5.0之後,是不能帶有括號的,這個時候就需要轉譯了」,只需 「mv "a(111).txt" a.txt」

20、curl 請求 url 時,若 url 後面帶有多個引數,需要對 & 轉義,curl

遇到的小問題

今天用vs2005編譯乙個專案的時候出現下面2個錯誤 dibimage.obj error lnk2019 無法解析的外部符號 cuda,該符號在函式 public bool thiscall cdibimage medianfilter char long,long,int,int,int,int...

遇到的小問題

今天用vs2005編譯乙個專案的時候出現下面2個錯誤 dibimage.obj error lnk2019 無法解析的外部符號 cuda,該符號在函式 public bool thiscall cdibimage medianfilter char long,long,int,int,int,int...

matlab plot遇到的小問題

want to plot this function y 1 x 2 1 x 3 0.1 3 y 1 x.2 1 error using mrdivide matrix dimensions must agree.x 3 0.1 3 y 1 x 2 1 error using mpower matr...