1. 程式人生 > >Ubuntu安裝配置Nginx

Ubuntu安裝配置Nginx

安裝Nginx

Nginx下載網站:http://nginx.org/ ,根據需要下載版本,一般提供兩種版本stable版本和mainline 版本,在實際生產環境中建議使用stable版本,此次下載安裝的版本為:nginx-1.10.3.tar.gz。配置環境為ubuntu-16.10-server-amd64系統。
檔案目錄在Ubuntu目錄下自己新建的/myapp/soft/目錄下(此目錄也可以在安裝Ubuntu系統的時候手動分割槽建立自己的工作空間)。以下為安裝配置過程:
Nginx檔案的存放目錄:
解壓使用:tar -xzf nginx-1.10.3.tar.gz解壓到當前目錄,結果如下。

root@shmily
:/myapp/soft# ls apache-tomcat-8.5.13.tar.gz mysql-server_5.7.17-1ubuntu16.04_amd64.deb-bundle.tar nginx-1.10.3.tar.gz jdk-8u121-linux-x64.tar.gz nginx-1.10.3 root@shmily:/myapp/soft#

安裝之前先執行更新:

apt-get install update

安裝Nginx所需要的類庫:

apt-get install gcc libpcre3 libpcrecpp0v5 libpcre3-dev libssl-dev

然後進入軟體安裝目錄,即二進位制檔案目錄(手動建立的目錄):

root@shmily:/myapp# ls
bin  lost+found  soft  webroot
root@shmily:/myapp# cd bin
root@shmily:/myapp/bin# 

在此目錄下新建nginx資料夾:

root@shmily:/myapp/bin# mkdir nginx
root@shmily:/myapp/bin# ls
jdk  nginx  tomcat  tomcat02
root@shmily:/myapp/bin# cd nginx
root@shmily:/myapp/bin/nginx
#mkdir logs conf fastcgi_temp sbin client_body_temp proxy_temp uwsgi_temp scgi_temp root@shmily:/myapp/bin/nginx# ls client_body_temp conf fastcgi_temp html logs proxy_temp sbin scgi_temp uwsgi_temp

執行完成之後退出此目錄,然後回到soft目錄下:

root@shmily:/myapp# cd soft
root@shmily:/myapp/soft# ls
apache-tomcat-8.5.13.tar.gz  mysql-server_5.7.17-1ubuntu16.04_amd64.deb-bundle.tar  nginx-1.10.3.tar.gz
jdk-8u121-linux-x64.tar.gz   nginx-1.10.3
root@shmily:/myapp/soft# cd nginx-1.10.3
root@shmily:/myapp/soft/nginx-1.10.3# ls
auto  CHANGES  CHANGES.ru  conf  configure  contrib  html  LICENSE  Makefile  man  objs  README  src
root@shmily:/myapp/soft/nginx-1.10.3#

接著執行以下命令進行Nginx的安裝:

./configure --prefix=/myapp/bin/nginx/ --sbin-path=/myapp/bin/nginx/sbin/ --with-http_ssl_module --conf-path=/myapp/bin/nginx/conf/nginx.conf --pid-path=/myapp/bin/nginx/logs/nginx.pid --error-log-path=/myapp/bin/nginx/logs/error.log --http-log-path=/myapp/bin/nginx/logs/access.log --http-fastcgi-temp-path=/myapp/bin/nginx/fastcgi_temp --http-client-body-temp-path=/myapp/bin/nginx/client_body_temp --http-proxy-temp-path=/myapp/bin/nginx/proxy_temp --http-uwsgi-temp-path=/myapp/bin/nginx/uwsgi_temp --http-scgi-temp-path=/myapp/bin/nginx/scgi_temp

上面命令執行成功之後,執行以下命令,成功執行說明Nginx安裝成功:

root@shmily:/myapp/soft/nginx-1.10.3# make;make install

安裝成功之後回到 /myapp/bin/nginx 目錄下,進入該目錄下的sbin,啟動Nginx,直接執行./nginx啟動服務,使用ps -ef|grep nginx檢視當前啟動的程序,如下:

root@shmily:/myapp/bin/nginx# ls
client_body_temp  conf  fastcgi_temp  html  logs  proxy_temp  sbin  scgi_temp  uwsgi_temp
root@shmily:/myapp/bin/nginx# cd sbin
root@shmily:/myapp/bin/nginx/sbin# ls
nginx
root@shmily:/myapp/bin/nginx/sbin# ./nginx
...
root@shmily:/myapp/bin/nginx/sbin# 
root@shmily:/myapp/bin/nginx/sbin# ps -ef|grep nginx
root       4518      1  0 16:16 ?        00:00:00 nginx: master process ./nginx
nobody     4524   4518  0 16:16 ?        00:00:00 nginx: worker process
root       4679   1639  0 16:47 pts/0    00:00:00 grep --color=auto nginx
root@shmily:/myapp/bin/nginx/sbin# 

成功之後可以在遠端測試連線,成功介面如下:

Nginx

nginx配置使用

  • 配置檔案nginx/conf/nginx.conf
  • http{ …… }部分,HTTP服務設定,全域性設定

nginx.conf檔案內容

  • include mime.types; #副檔名不檔案型別對映表
  • default_type application/octet-stream; #預設檔案型別
  • sendfile on; #開啟高效檔案傳輸模式,sendfile指令指定nginx是否呼叫sendfile函式來輸出檔案,對於普通應用設為 on,如果用來進行下載等應用磁碟IO重負載應用,可設定為off,以平衡磁碟不網路I/O處理速度,降低系統的負載。
    注意:如果圖片顯示不正常把這個改成off
  • keepalive_timeout 120; #長連線超時時間,單位是秒
  • 配置檔案nginx/conf/nginx.conf
  • server{ …… }部分,虛擬主機的配置

nginx.conf檔案02

  • listen 80; #監聽埠
  • server_name www.xxx.com; #域名可以有多個,用空格隔開
  • index index.html index.jsp; #預設訪問頁面
  • root /www/webSite/xxx; #預設站點路徑
  • error_page 500 502 503 504/50x.html; #預設錯誤內容展示頁

Nginx + Tomcat 配置使用

Tomcat配置

首先需要進行Tomcat叢集配置,用兩個Tomcat作為例項,實際過程中可以使用多個Tomcat,在進行Tomcat配置過程中,先檢視是否有Tomcat程序存在,使用ps -ef|grep tomcat ,如果有程序,使用kill -9 程序號 結束Tomcat程序。之後複製Tomcat,使用cp tomcat tomcat02 進行復制,可依次複製多個Tomcat。原始Tomcat不需要埠修改,但是需要在server.xml檔案中增加web專案配置路徑,server.xml檔案路徑:

[email protected]:/myapp/bin/tomcat/conf# ls
Catalina         catalina.properties  jaspic-providers.xml  logging.properties  server.xml20170506  tomcat-users.xsd
catalina.policy  context.xml          jaspic-providers.xsd  server.xml         tomcat-users.xml    web.xml

修改server.xml檔案,增加如下內容,其他不用做任何修改:

<Context path="" docBase="/myapp/webroot/mldn2" debug="0" reloadable="true"></Context>

image02
完成之後,進入tomcat02目錄下的conf目錄下:
image03
修改server.xml檔案,需要做如下修改:

image04

image05

image06

image07
如果還有有多個Tomcat配置按照上面依次配置就可以,途中圈出來的部分是需要修改的內容,如有三個則第三個的server port8007.依次類推進行修改即可。修改完成之後,重新啟動Tomcat服務,正常啟動說明修改正確。

image08

Nginx配置

修改nginx/conf/nginx.conf檔案裡的server,如上圖中的location / {}中的內容,註釋以下內容:

# root html;
# index  index.html index.htm;

在下面新增如下配置:

        proxy_pass http://127.0.0.1;
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #後端伺服器可以通過X-Forwarded-For獲取真實IP
        proxy_max_temp_file_size 0; #設定臨時快取大小
        proxy_connect_timeout 90; #nginx跟後端伺服器連線超時時間(代理連線超時)
        proxy_send_timeout 90; #後端伺服器資料回傳時間(代理髮送超時)
        proxy_read_timeout 90; #連線成功後,後端伺服器響應時間(代理接收超時)
        proxy_buffer_size 4k; #設定代理伺服器(nginx)儲存使用者頭資訊的緩衝區大小
        proxy_buffers 4 32k; #proxy_buffers緩衝區,網頁平均在32k以下的設定
        proxy_busy_buffers_size 64k; #高負荷下緩衝大小(proxy_buffers*2)
        proxy_temp_file_write_size 64k; #設定快取資料夾大小

修改完成儲存退出,回到sbin目錄,執行以下命令:

./nginx -t          //測試Nginx指令碼
./nginx -s reload           //重啟Nginx

Nginx負載均衡配置

增加upstream項,在http中

 #gzip  on;
    upstream myServer {
        server 127.0.0.1:9090 down;
        server 127.0.0.1:8080 weight=2;
        server 127.0.0.1:6060;
        server 127.0.0.1:7070 backup;
    }

down:表示單前的server暫時不參與負載
weight:預設為1,weight越大,負載的權重就越大。
backup:其它所有的非backup機器down或者忙的時候,請求backup機器

修改Nginx中server裡面的location內容

proxy_pass http://myServer;

修改完成儲存退出,回到sbin目錄,執行以下命令:

./nginx -t          //測試Nginx指令碼
./nginx -s reload           //重啟Nginx

完整修改檔案內容如下:

http {
    include       mime.types;
    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"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;
    upstream myServer {
        server 127.0.0.1:9090 down;
        server 127.0.0.1:8080 weight=2;
        server 127.0.0.1:6060;
        server 127.0.0.1:7070 backup;
    }
    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
        #    root   html;
        #    index  index.html index.htm;
                proxy_pass http://myServer;
                proxy_redirect off;
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #後端伺服器可以通過X-Forwarded-For獲取真實IP
                proxy_max_temp_file_size 0; #設定臨時快取大小
                proxy_connect_timeout 90; #nginx跟後端伺服器連線超時時間(代理連線超時)
                proxy_send_timeout 90; #後端伺服器資料回傳時間(代理髮送超時)
                proxy_read_timeout 90; #連線成功後,後端伺服器響應時間(代理接收超時)
                proxy_buffer_size 4k; #設定代理伺服器(nginx)儲存使用者頭資訊的緩衝區大小
                proxy_buffers 4 32k; #proxy_buffers緩衝區,網頁平均在32k以下的設定
                proxy_busy_buffers_size 64k; #高負荷下緩衝大小(proxy_buffers*2)
                proxy_temp_file_write_size 64k; #設定快取資料夾大小
        }

相關推薦

Ubuntu安裝配置Nginx

安裝Nginx Nginx下載網站:http://nginx.org/ ,根據需要下載版本,一般提供兩種版本stable版本和mainline 版本,在實際生產環境中建議使用stable版本,此次下載安裝的版本為:nginx-1.10.3.tar.gz。配置環

Ubuntu 安裝配置 JDK+Tomcat+Nginx

安裝配置JDK 下載安裝 # 下載: wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" "https://download.oracle.com/otn

NginxUbuntu安裝配置Nginx

一、安裝和解除安裝: 安裝: apt-get install software-properties-common add-apt-repository ppa:nginx/stable apt-get update apt-get ins

mac下安裝配置nginx,php環境

服務 端口 通過 etc 安裝 set cnblogs fast ocr 1、安裝nginx 在mac系統下我們使用brew來安裝nginx,使用brew來安裝,它會自動安裝相應的依賴庫。 brew install nginx 在安裝完畢後,終端會輸出配置信息: Doc

Ubuntu安裝配置JDK、Tomcat、SVN服務器

ubunt jdk tomcat svn 摘要:本文主要介紹了如何在ubuntu下安裝與配置jdk、tomcat、及svn服務器 環境:VMware + Ubuntu14.04一、配置jdk1、下載JDKhttp://www.oracle.com/technetwork/j

CentOS7.2安裝配置nginx+flask+python+uwsgi運行環境

編程語言 Python 操作系統:CentOS 7.2Nginx安裝請參考centos7.2安裝nginx這個文章1. 安裝python3.5執行命令wget --no-check-certificate https://www.python.org/ftp/python/3.5.0/Python-3

ELK 6安裝配置 nginx日誌收集 kabana漢化

restart proc times add-port app pack minimum node cnblogs #ELK 6安裝配置 nginx日誌收集 kabana漢化 #環境 centos 7.4 ,ELK 6 ,單節點 #服務端 Logstash 收集,過濾 E

ubuntu 安裝ftp nginx tomcat

tp服務器 vsftpd 配置 OS 文件 ftp服務器 sta apt cal tomcat sudo apt-get install tomcat 訪問方式,http://loclahost:8080 進入sbin目錄下 sudo ./startup.sh開啟 sudo

centos7安裝配置nginx

centos7安裝配置nginx安裝: yum -y install nginx # 默認目錄是:/usr/share/nginx/html 支持目錄索引: 支持php:a. 安裝php-fpm: yum -y install php-fpm b. 修改php-fpm的配置文件:c. 啟動php

linux下安裝配置nginx

nginx這裏以nginx-1.13.12版本為例子 1、首先去官網下載nginx-1.13.12.tar.gz安裝包並上傳到linux服務器並解壓縮安裝包 tar -zxvf nginx-1.13.12.tar.gz 2、在安裝ngxin之前我們首先要保證linux的防火墻是關閉狀態 systemct

centos中安裝配置nginx完成之後主機無法訪問

CP 方法 true VM 配置 pre PE all 開啟 原因 VMware中安裝centos7,安裝配置完成nginx後,主機無法訪問。虛擬機沒有放行Nginx默認端口80。 解決方法 解決方法 首先:開啟 web 端口 firewall-cmd --p

centos7安裝配置nginx+keepalived集群

安裝配置nginx+keepalived關閉防火墻(如果因為其他原因不關閉,也請不要禁止80端口):systemctl stop firewalld.service禁止防火墻自動啟動:systemctl disable firewalld.service查看系統版本cat /etc/redhat-releas

安裝配置nginx

bre updating AI con clas 設置 homebrew localhost all 一、安裝 1 使用brew安裝nginx brew install nginx 如果homebrew不是最新版本,會先更新, p.p1 { margin: 0.0p

CentOS下安裝配置Nginx

zxvf queue 重新 如果 6.2 並發連接 div 即使 並且 Nginx 是一個高性能的 Web 和反向代理服務器, 它具有有很多非常優越的特性: 作為 Web 服務器:相比 Apache,Nginx 使用更少的資源,支持更多的並發連接,體現更高的效率,這點使

Ubuntu安裝配置tomcat(以及配置多個tomcat)

到官網下載tomcat的包檔案,要注意tomcat是分linux系統使用和windows系統使用的,在linux中使用下載tar.gz包。 下載好包之後,在終端進行操作。 Sudo -i 進入root,要輸入密碼 首先建立一個資料夾,用來存放你即將上傳解壓的tomcat檔案  &

記錄一下在ubuntu配置nginx+uwsgi+flask出現的一點問題.

main thread acc sta pre cati 記錄 location crt 還沒有解決 現在的情況很奇怪, 配置uwsgi通過啟動腳本啟動後,無法正常運行,相同代碼在centos上完全沒有問題,同樣用的是venv的環境, ubuntu,貼上nginx配置和

Ubuntu配置nginx及相關命令

一、安裝nginx 在Ubuntu下安裝Nginx有以下方法,但是如果想要安裝最新版本的就必須下載原始碼包編譯安裝。 1、基於APT源安裝: sudo apt-get install nginx 安裝好的檔案位置: /usr/sbin/nginx:主程式 /etc/nginx:存放配

Ubuntu安裝配置graphite

我的Ubuntu版本是14.04,之所以是這個版本是因為之前不會安裝的時候看見只有這個版本的教程 現在想想感覺有點傻了 後來在師兄的指導之下終於找到了正確的安裝方法 1、先安裝docker 2、找到graphite的官方安裝文件進行docker安裝 具體安裝過程如下:

linux安裝配置nginx手冊

Nginx安裝手冊 1 nginx安裝環境           nginx是C語言開發,建議在linux上執行,本教程使用Centos6.5作為安裝環境。 n  gcc &

ubuntu18.04 安裝配置nginx+php+mysql

2018-08-17 15:15:09 1.首先輸入使用者名稱和密碼進行登入 2.升級更新軟體包 sudo apt-get update sudo apt-get upgrade 判斷都填y 3.安裝nginx sudo apt-get install nginx 在瀏覽器輸入你的ip地址測試是否安裝成功 4