一、Linux下安裝配置nginx
第一次安裝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_64checking 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 gccgcc:
安裝gcc
[root@vw010001135067 nginx-1.10.2]# yum -y install gcc
安裝成功后再次查看
[root@vw010001135067 nginx-1.10.2]# whereis gccgcc: /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]# ./configurechecking for OS + Linux 2.6.32-431.el6.x86_64 x86_64checking for C compiler ... found......checking for PCRE library ... not foundchecking for PCRE library in /usr/local/ ... not foundchecking for PCRE library in /usr/include/pcre/ ... not foundchecking for PCRE library in /usr/pkg/ ... not foundchecking 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_moduleoption, or install the PCRE library into the system, or build the PCRE librarystatically from the source with nginx by using --with-pcre=<path> option.
出現如上錯誤。安裝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_moduleoption, or install the zlib library into the system, or build the zlib librarystatically from the source with nginx by using --with-zlib=<path> option.
如果有這個錯誤 那么執行
yum install zlib-devel
1.3.4 執行./configure后沒有報錯
[root@vw010001135067 nginx-1.10.2]# ./configurechecking for OS + Linux 2.6.32-431.el6.x86_64 x86_64checking 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
上面兩個命令同時啟動可以
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 configureexport NGINX_HOME=/usr/local/nginx-1.10.2export PATH=$PATH:$NGINX_HOME/sbin
我開始像上面填寫,結果nginx -v的時候查找不到。注意到上面我的nginx_home配置的地址不對。先找到nginx的安裝地址
[root@vw010001135067 nginx-1.10.2]# whereis nginxnginx: /usr/local/nginx
還真是地址寫錯了,把上面的改成
#nginx configureexport NGINX_HOME=/usr/local/nginxexport PATH=$PATH:$NGINX_HOME/sbin
編譯完保存退出并執行
[root@vw010001135067 nginx-1.10.2]# source /etc/profile
使配置生效。
1.7 查看nginx版本
[root@vw010001135067 nginx]# nginx -vnginx 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項目是否成功
如圖能正確訪問項目,配置成功!
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。
新聞熱點
疑難解答