在linux下安裝或者卸載nginx

來源:互聯網
上載者:User

如果邇是在ubuntun下安裝nginx、建議先卸載掉內建的版本、太舊了、0.7的、uWsgi都不支援、還要打補丁、太麻煩了、如果是預設安裝的話、一定是使用了apt-get的方式來安裝的、那麼莪們就使用apt-get的方式來卸載吧、

sudo apt-get --purge remove nginx

完成後再試下which nginx存在不、不存在就是已經成功卸了

 

 

還是從源碼安裝吧、這樣可以不用管更新apt-get源之類的是否成功之類的、

首先去找個源碼吧、目前官網的最新穩定版是1.0.10、所以輸入個

wget http://nginx.org/download/nginx-1.0.10.tar.gz

擷取到目前的目錄、然後再解壓啪啪的tar -zxf xxxx.tar.gz

然後就安裝吧、從源碼安裝三步曲如果沒有意外的話是狠順利的、

./configure
make
sudo make install

先執行./configure後別急著往下執行、看看配置不是有有錯了、如果不看清楚的話、執行make肯定會出問題、如果邇在make的時候看到出現

make: *** No rule to make target `build', needed by `default'.  Stop.這種現象、邇回頭看看./configure的出錯資訊是不是沒裝某個組件、比如沒裝

偽靜態模組需要pcre庫、這是相常見的問題、沒裝就裝上吧、目前pcre最新版本為8.12、如果邇想下載的話最好選擇tar.gz的、當然官網也提供了壓縮率更高的

tar.bz2格式、不過解壓稍微麻煩點、需要用到bzip2這個工具、先解壓、再解包、xxx的、不過咱網速也不慢、嫌麻煩還是老老實實用tar.gz格式吧

bzip2 -d xxx.tar.bz2
tar -xf xxx.tar
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.12.tar.gz

搞定咯、再運行一次./configure、再make、make install、問題不大、注意make install要root許可權、如果是ubuntu的話可以用sudo暫時調用root許可權、

nginx算是安裝好了、不過還不能用、進入nginix目錄、一般來說./configure不指定目錄安裝的話是安裝在/usr/local/nginx、如果邇想指定其它目錄用上--prefix=xxx目錄、如果邇是安裝在預設目錄的話、執行個軟連結命令把nginx連去/usr/bin目錄下、

sudo ln -s /usr/local/nginx/sbin/nginx /usr/sbin/nginx

注意啦、root許可權、相信也沒多大問題了、然後在哪裡都可以運行nginx了、執行一下nginx -v如果看到版本號碼就算是安裝完成了、

 

然後是啟動nginx

 

如果運行nginx的話啟動出錯、遇到error while loading shared libraries: libpcre.so.0: cannot open shared object file: No such file or directory

那麼又是系統找不到某某庫、把/usr/local下做個軟連結搬過來就是了

sudo ln -s /usr/local/lib/libpcre.so.0 /usr/lib/libpcre.so.0

好了、啟動nginx吧、想驗證一下、用瀏覽器開啟localhost:80咯、看看是否看到了nginx的歡迎頁面、如果行就OK啦

如果啟動出錯、像這樣的資訊

Nov 19 22:06:09 fedora nginx[17850]: Starting nginx: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
Nov 19 22:06:10 fedora nginx[17850]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
Nov 19 22:06:10 fedora nginx[17850]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
Nov 19 22:06:11 fedora nginx[17850]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
Nov 19 22:06:11 fedora nginx[17850]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
Nov 19 22:06:12 fedora nginx[17850]: nginx: [emerg] still could not bind()

那麼狠有可能是連接埠被佔用了、看看邇是不是啟動了apache的服務佔用了80連接埠、把它停掉就可以了

sudo /etc/init.d/apache2 stop

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.