在Linux系統中,nginx 是一個很強大的高性能Web和反向代理服務,它具有很多非常優越的特性。我們在日常的開發工作中會經常使用到nginx,所以雖然作爲Android開發的我,最近也從後臺的角度出發,學習了一下服務器方面的知識,平時沒有太多接觸過相關Linux服務器的內容,對於簡單的語法比較陌生,但是使用起來卻感覺得心應手,Linux不愧爲程序員的貼心小棉襖呀!難道以後我也要轉全棧了嗎?嘿嘿。。
話不多說,進入今天的主題!
在Linux系統安裝nginx服務基本上需要以下幾步:
1)下載nginx安裝包
2)解壓縮nginx安裝包
3)啓動nginx服務
4)修改nginx服務配置
具體操作流程如下
一、下載nginx安裝包
安裝包下載網址:http://nginx.org/en/download.html
二、解壓縮nginx-1.16.1.tar.gz
# 使用解壓縮命令
tar -xzvf nginx-1.16.1.tar.gz
會在當前目錄下生成nginx-1.16.1文件夾
進入nginx-1.16.1文件夾
# 執行安裝命令
# 安裝到當前目錄下
./configure
# 或者安裝到指定目錄下
./configure --prefix=/usr/local/nginx
之後使用make命令編譯Makefile文件中的內容
# 執行編譯命令
make
在這裏有可能遇到以下類似的問題:
1)make[1]: *** xxx/ngx_event_openssl.o] 錯誤 1
make[1]: 離開目錄“/usr/local/nginx”
make: *** [build] 錯誤 2
2)make: *** No rule to make target `build', needed by `default'. Stop
出現這種的原因是因爲沒有安裝gcc pcre zlib openssl等幾個插件,使用yum或者apt-get命令安裝對應的插件
1、GCC——GNU編譯器集合(GCC可以使用默認包管理器的倉庫(repositories)來安裝,包管理器的選擇依賴於你使用的Linux發佈版本,包管理器有不同的實現:yum是基於Red
Hat的發佈版本;apt用於Debian和Ubuntu;yast用於SuSE Linux等等。)
RedHat中安裝GCC:
yum install gcc
Ubuntu中安裝GCC:
apt-get install gcc
2、PCRE庫(Nginx編譯需要PCRE(Perl Compatible Regular
Expression),因爲Nginx的Rewrite模塊和HTTP核心模塊會使用到PCRE正則表達式語法。這裏需要安裝兩個安裝包pcre和pcre-devel。第一個安裝包提供編譯版本的庫,而第二個提供開發階段的頭文件和編譯項目的源代碼,這正是我們需要的理由。)
RedHat中安裝PCRE:
yum install pcre pcre-devel
Ubuntu中安裝PCRE:
apt-get install libpcre3 libpcre3-dev
3、zlib庫(zlib庫提供了開發人員的壓縮算法,在Nginx的各種模塊中需要使用gzip壓縮。如同安裝PCRE一樣,同樣需要安裝庫和它的源代碼:zlib和zlib-devel。)
RedHat中安裝zlib:
yum install zlib zlib-devel
Ubuntu中安裝zlib:
apt-get install zlib1g zlib1g-dev
4、OpenSSL庫(在Nginx中,如果服務器提供安全網頁時則會用到OpenSSL庫,我們需要安裝庫文件和它的開發安裝包(openssl和openssl-devel)。)
RedHat中安裝OpenSSL:
yum install openssl openssl-devel
Ubuntu中安裝OpenSSL:(注:Ubuntu14.04的倉庫中沒有發現openssl-dev):
apt-get install openssl openssl-dev
具體操作參考:
咖喱和辣椒的博客
https://blog.csdn.net/qq_40183281/article/details/90085220
三、啓動ngnix服務器
執行命令
# 執行啓動服務命令
./usr/local/nginx/sbin/nginx
啓動nginx服務器
在瀏覽器輸入對應的網址:
http://localhost:80/或者遠程訪問http://xxx:80/
顯示如下界面:
就代表nginx啓動成功了,到這兒也基本上大功告成了!
四、修改配置文件
一般情況下,大家在訪問服務器的時候都是通過http://xxx/xxx.html或者https://xxx/xxx.html進行訪問的,所以當有多個服務啓動的時候需要進行端口的轉發
修改nginx解壓路徑下的xxx/conf/nginx.conf文件,
修改完配置文件,就需要重啓nginx服務,使用如下命令操作:
1)殺死重新啓動命令:
# 查看進程命令
ps -ef|grep nginx
將nginx的主進程殺死
使用命令:
# 殺死進程命令
kill -QUIT 5869
啓動nginx服務,進入nginx/sbin/下執行
# 啓動服務命令
./nginx
2)直接重新啓動命令:
# 直接啓動服務命令
./nginx -s reload
到這兒就可以愉快的使用http或者https對應的默認端口(80/443)進行訪問本地其他服務的內容了!
謝謝大家的閱讀,希望大家可以私聊我:微信:cai-niao-bu-ke-yi; QQ:1125325256; 新浪微博:prince-or-king;
個人網站:www.senvenyoung.net(不日即將開通,大家多多關注)