第一次安裝nginx,中間出現的問題一步步解決。
用到的工具securecrt,連接并登錄服務器。
1.1 rz命令,會彈出會話框,選擇要上傳的nginx壓縮包。
#rz
1.2 解壓
[root@vw010001135067?~]#?cd?/usr/local/ [root@vw010001135067?local]#?tar?-zvxf?nginx-1.10.2.tar.gz
1.3 進入nginx文件夾,執行./configure命令
[root@vw010001135067?local]#?cd?nginx-1.10.2 [root@vw010001135067?nginx-1.10.2]#?./configure
報錯如下:
checking?for?os ?+?linux?2.6.32-431.el6.x86_64?x86_64 checking?for?c?compiler?...?not?found ./configure:?error:?c?compiler?cc?is?not?found
出現這個錯誤。那么就是gcc 包沒有安裝。
1.3.1 安裝gcc
查看gcc
[root@vw010001135067?nginx-1.10.2]#?whereis?gcc gcc:
安裝gcc
[root@vw010001135067?nginx-1.10.2]#?yum?-y?install?gcc
安裝成功后再次查看
[root@vw010001135067?nginx-1.10.2]#?whereis?gcc gcc:?/usr/bin/gcc?/usr/lib/gcc?/usr/libexec/gcc?/usr/share/man/man1/gcc.1.gz
gcc安裝好了。
1.3.2 繼續執行./configure
[root@vw010001135067?nginx-1.10.2]#?./configure checking?for?os ?+?linux?2.6.32-431.el6.x86_64?x86_64 checking?for?c?compiler?...?found ...... checking?for?pcre?library?...?not?found checking?for?pcre?library?in?/usr/local/?...?not?found checking?for?pcre?library?in?/usr/include/pcre/?...?not?found checking?for?pcre?library?in?/usr/pkg/?...?not?found checking?for?pcre?library?in?/opt/local/?...?not?found ./configure:?error:?the?http?rewrite?module?requires?the?pcre?library. you?can?either?disable?the?module?by?using?--without-http_rewrite_module option,?or?install?the?pcre?library?into?the?system,?or?build?the?pcre?library statically?from?the?source?with?nginx?by?using?--with-pcre=<path>?option.</path>
出現如上錯誤。安裝pcre-devel
[root@vw010001135067?nginx-1.10.2]#?yum?install?pcre-devel
1.3.3 再次執行./configure
error:?the?http?gzip?module?requires?the?zlib?library. you?can?either?disable?the?module?by?using?--without-http_gzip_module option,?or?install?the?zlib?library?into?the?system,?or?build?the?zlib?library statically?from?the?source?with?nginx?by?using?--with-zlib=<path>?option.</path>
如果有這個錯誤 那么執行
yum?install?zlib-devel
1.3.4 執行./configure后沒有報錯
[root@vw010001135067?nginx-1.10.2]#?./configure checking?for?os ?+?linux?2.6.32-431.el6.x86_64?x86_64 checking?for?c?compiler?...?found ?+?using?gnu?c?compiler ?+?gcc?version:?4.4.7?20120313?(red?hat?4.4.7-17)?(gcc)? ....... configuration?summary ?+?using?system?pcre?library ?+?openssl?library?is?not?used ?+?md5:?using?system?crypto?library ?+?sha1:?using?system?crypto?library ?+?using?system?zlib?library ?nginx?path?prefix:?"/usr/local/nginx" ?nginx?binary?file:?"/usr/local/nginx/sbin/nginx" ?nginx?modules?path:?"/usr/local/nginx/modules" ?nginx?configuration?prefix:?"/usr/local/nginx/conf" ?nginx?configuration?file:?"/usr/local/nginx/conf/nginx.conf" ?nginx?pid?file:?"/usr/local/nginx/logs/nginx.pid" ?nginx?error?log?file:?"/usr/local/nginx/logs/error.log" ?nginx?http?access?log?file:?"/usr/local/nginx/logs/access.log" ?nginx?http?client?request?body?temporary?files:?"client_body_temp" ?nginx?http?proxy?temporary?files:?"proxy_temp" ?nginx?http?fastcgi?temporary?files:?"fastcgi_temp" ?nginx?http?uwsgi?temporary?files:?"uwsgi_temp" ?nginx?http?scgi?temporary?files:?"scgi_temp"
1.4 如果你想使用openssl 功能,sha1 功能。 那么安裝openssl ,sha1 吧
[root@vw010001135067?nginx-1.10.2]#?yum?install?openssl?openssl-devel? [root@vw010001135067?nginx-1.10.2]#?install?perl-digest-sha1.x86_64
1.4.1 開啟ssl 模塊 執行./configure –with-http_ssl_module
[root@vw010001135067?nginx-1.10.2]#?./configure?--with-http_ssl_module
1.4.2 啟用“server+status”頁,執行./configure –with-http_stub_status_module
[root@vw010001135067?nginx-1.10.2]#?./configure?--with-http_stub_status_module
上面兩個命令同時啟動可以
復制代碼?代碼如下:
[root@vw010001135067 nginx-1.10.2]# ./configure –with-http_stub_status_module –with-http_ssl_module
1.5 上面configure就通過了
執行make 命令,執行make install 命令
[root@vw010001135067?nginx-1.10.2]#?make [root@vw010001135067?nginx-1.10.2]#?make?install
至此,nginx 執行成功了
1.6 配置環境變量
在/etc/profile 中加入配置
打開配置文件
[root@vw010001135067?nginx-1.10.2]#?vi?/etc/profile
在配置文件中加入
#nginx?configure export?nginx_home=/usr/local/nginx-1.10.2 export?path=$path:$nginx_home/sbin
我開始像上面填寫,結果nginx -v的時候查找不到。注意到上面我的nginx_home配置的地址不對。先找到nginx的安裝地址
[root@vw010001135067?nginx-1.10.2]#?whereis?nginx nginx:?/usr/local/nginx
還真是地址寫錯了,把上面的改成
#nginx?configure export?nginx_home=/usr/local/nginx export?path=$path:$nginx_home/sbin
編譯完保存退出并執行
[root@vw010001135067?nginx-1.10.2]#?source?/etc/profile
使配置生效。
1.7 查看nginx版本
[root@vw010001135067?nginx]#?nginx?-v nginx?version:?nginx/1.10.2
整個過程成功了!
二、修改nginx.conf
2.1 啟動nginx
我的nginx服務在http://10.1.135.67/,配置成功后,現在啟動nginx
[root@vw010001135067?nginx]#?cd?/usr/local/nginx [root@vw010001135067?nginx]#?nginx?-c?conf/nginx.conf
啟動成功,在瀏覽器打開http://10.1.135.67/,默認端口號80.
如上圖,nginx已經正常工作了。
2.2 配置tomcat服務
現在我的tomcat服務在10.1.29.15,需要通過nginx轉發。那么打開nginx.conf,修改配置文件。如下,添加:
#user?nobody; worker_processes?1; #error_log?logs/error.log; #error_log?logs/error.log?notice; #error_log?logs/error.log?info; #pid??logs/nginx.pid; events?{ ?worker_connections?1024;#最大連接數,默認為512 ?accept_mutex?on;?#設置網路連接序列化,防止驚群現象發生,默認為on ?multi_accept?on;?#設置一個進程是否同時接受多個網絡連接,默認為off ?#use?epoll;??#事件驅動模型,select|poll|kqueue|epoll|resig|/dev/poll|eventport? } http?{ ?#文件擴展名與文件類型映射表 ?include??mime.types; ?#默認文件類型,默認為text/plain? ?default_type?application/octet-stream; ?#自定義格式 ?log_format?main?'$remote_addr?-?$remote_user?[$time_local]?"$request"?' ??????'$status?$body_bytes_sent?"$http_referer"?' ??????'"$http_user_agent"?"$http_x_forwarded_for"';? ?#combined為日志格式的默認值 ?access_log?logs/access.log?main; ?#允許sendfile方式傳輸文件,默認為off,可以在http塊,server塊,location塊 ?sendfile??on; ?sendfile_max_chunk?100k;?#每個進程每次調用傳輸數量不能大于設定的值,默認為0,即不設上限。 ?#tcp_nopush??on; ?#連接超時時間,默認為75s,可以在http,server,location塊。 ?keepalive_timeout?65; ?#gzip?on; ?upstream?upload?{ ??server?10.1.29.15:8080; ?} ?error_page?404?https://www.baidu.com;?#錯誤頁 ?server?{ ??keepalive_requests?120;?#單連接請求上限次數。 ??listen??80;?#監聽端口 ??server_name?localhost;?#監聽地址? ??#charset?koi8-r; ??#access_log?logs/host.access.log?main; ??location?~?^.*?/upload/[^/]*?$?{ ???proxy_connect_timeout?15; ???proxy_send_timeout?15; ???proxy_read_timeout?15; ???proxy_set_header?host?$host; ???proxy_set_header?x-real-ip?$remote_addr; ???proxy_set_header?x-forwarded-for?$proxy_add_x_forwarded_for; ???proxy_set_header?connection?""; ???proxy_pass?http://upload;?#請求轉向upload?定義的服務器列表 ???client_max_body_size?1024m; }? ?} }
配置好后,保存配置文件,并且重啟nginx
[root@vw010001135067?nginx]#?nginx?-s?reload
在瀏覽器調用upload項目是否成功
如圖能正確訪問項目,配置成功!