一,安裝
1.檢查並安裝所需的依賴軟件
1).gcc:nginx編譯依賴gcc環境
安裝命令:yum install gcc-c++
2).pcre:(Perl Compatible Regular Expressions)是一個Perl庫,包括 perl 兼容的正則表達式庫。nginx的http模塊使用pcre來解析正則表達式.
安裝命令:yum install -y pcre pcre-devel
3).zlib:該庫提供了很多種壓縮和解壓縮的方式,nginx使用zlib對http包的內容進行gzip。
安裝命令:yum install -y zlib zlib-devel
4).openssl:一個強大的安全套接字層密碼庫,囊括主要的密碼算法、常用的密鑰和證書封裝管理功能及SSL協議,並提供豐富的應用程序供測試或其它目的使用。nginx不僅支持http協議,還支持https(即在ssl協議上傳輸http).
安裝命令:yum install -y openssl openssl-devel
2.下載nginx源碼包
下載安轉之前檢測一下是否已經安裝:find -name nginx 如果安裝則卸載:yum remove nginx
下載命令:wget http://nginx.org/download/nginx-1.12.0.tar.gz
3.解壓縮源碼包並進入
1).解壓縮:tar -zxvf nginx-1.12.0.tar.gz
2).進入解壓縮後文件夾:cd nginx-1.12.0
4.配置編譯參數命令:(可以使用./configure --help查詢詳細參數)
配置ssl模塊:
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi
注:安裝之前需要手動創建上面指定的nginx文件夾,即/var/temp、/var/temp/nginx、/var/run/nginx/文件夾,否則啓動時報錯
5.編譯並安裝(進入到解壓目錄)
命令:先 make 然後再 make install
可以進入/usr/local/nginx查看文件是否存在conf、sbin、html文件夾,若存在則安裝成功
二,基本使用
1.啓動nginx
1).進入安裝目錄
cd /usr/local/nginx/sbin/
2).啓動
./nginx
3).若報錯:[emerg] open() "/var/run/nginx/nginx.pid" failed (2: No such file or directory)
需要查看下是不是在/var/run文件夾下不存在nginx文件夾,不存在則新建
4).查看是否啓動:ps -ef | grep nginx
如果有master和worker兩個進程證明啓動成功
注意:執行./nginx啓動nginx,這裏可以-c指定加載的nginx配置文件,如下:
./nginx -c /usr/local/nginx/conf/nginx.conf
如果不指定-c,nginx在啓動時默認加載conf/nginx.conf文件,此文件的地址也可以在編譯安裝nginx時指定./configure的參數(--conf-path= 指向配置文件(nginx.conf))
2.停止
1).暴利kill(不推薦使用)
kill -9 processId
2).快速停止
cd /usr/local/nginx/sbin && ./nginx -s stop
此方式相當於先查出nginx進程id再使用kill命令強制殺掉進程
3).完整停止(建議使用)
cd /usr/local/nginx/sbin && ./nginx -s quit
此方式停止步驟是待nginx進程處理任務完畢進行停止
3.重啓及重新加載配置
1.先停止再啓動(建議使用)
./nginx -s quit && ./nginx
2.重新加載配置文件
./nginx -s reload
4.測試是否已安裝成功
啓動Nginx後,在瀏覽器中訪問主機IP,nginx服務器默認是80端口。
所以先查看哪些已啓用:firewall-cmd --list-ports
開啓端口(centos7):firewall-cmd --zone=public --add-port=80/tcp --permanent
在重啓防火牆:firewall-cmd --reload
最後訪問主機ip,查看是否有nginx的歡迎界面
三,問題
1.阿里雲服務器,如果出現nginx安裝啓動成功,但無法訪問
可以按以下思路排查:
1》查看80端口是否開啓
2》在服務器端使用wget 127.0.0.1 或 curl 127.0.0.1如果都返回相應數據說明nginx在服務器上沒問題
3》telnet 12x.xx.x.xx 80 測試網絡是否通暢
4》最後查看阿里雲控制檯找到--雲服務器ECS--網絡和安全--安全組,找到你的服務器實例裏的配置規則,查看服務器安全組策略是否開啓http(80),如下