摘要:一安裝官網下載直接去上面的官網下載相應版本即可系統系統通過鏡像源安裝可通過下面兩條命令輕松完成安裝。
一、nginx安裝
官網下載:https://nginx.org/en/download...1、windows:
直接去上面的官網下載相應版本即可2、mac系統:
$ brew install nginx3、centOS系統:
1.) 通過rpm鏡像源安裝
centOS 7可通過下面兩條命令輕松完成安裝。
$ rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm $ yum install -y nginx
2.) 通過依賴包詳細安裝
安裝nginx依賴庫pcre、zlib
$ yum install pcre pcre-devel $ yum install zlib zlib-devel
如有必要,可以安裝c++編譯環境和openssl
$ yum install gcc-c++ $ yum install openssl openssl-devel
下載/編譯nginx
$ wget -c https://nginx.org/download/nginx-1.14.2.tar.gz $ tar -zxvf nginx-1.14.2.tar.gz # 編譯安裝 $ cd nginx-1.14.2 $ ./configure # 默認安裝在/usr/local/nginx $ make && make install # 創建軟鏈 $ ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/nginx $ nginx -v二、nginx命令
# windows啟動 > start nginx # linux/mac啟動 $ service nginx start # 或手動指定配置 $ nginx -c /usr/local/nginx/conf/nginx.conf # 重啟 $ nginx -s reload # 關閉 $ nginx -s stop # 查看端口 $ netstat -an | grep 端口 # linux/mac系統 > netstat -an | findstr 端口 # windows系統 # 測試web服務 $ curl -i 主機:端口 # 或 $ telnet 主機 端口 # 查看進程 $ ps -ef | grep nginx # 查看錯誤日志 $ tail -n30 /var/log/nginx/error.log三、nginx配置
查看nginx.conf配置文件位置
$ nginx -t1、創建一個標準的server
確保nginx.conf里的 include conf.d/*.conf 已啟用,沒有則添加一條
在去conf.d目錄下新建server.conf,配置如下:
server { listen 80; server_name 127.0.0.1; client_max_body_size 100m; location / { root /app/xxx; # 項目所在目錄 index index.html index.htm; try_files $uri $uri/ /index.html; # vue單頁應用需要路由始終指向index.html } }2、配置ssl證書實現https訪問
復制.pem和.key兩種證書到當前server配置同一個目錄下
server { listen 443; server_name 127.0.0.1; ssl on; ssl_certificate my.pem; # 替換成自己的證書 ssl_certificate_key my.key; # 替換成自己的證書 ssl_session_timeout 5m; ssl_protocols SSLv3 TLSv1.2; ssl_ciphers ECDHE-RSA-AES256-SHA384:AES256-SHA256:RC4:HIGH:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!AESGCM; ssl_prefer_server_ciphers on; location / { ... } }3、api接口反向代理
location /api { proxy_pass http://b.domain.com:9000; # 最終地址會加上/api,變成 /api/xxx #proxy_cookie_domain b.domain.com a.domain.com; # 需要修改接口返回的cookie域名時使用 }
需要注意的是,proxy_pass路徑有相對和絕對之分,如:proxy_pass http://b.domain.com:9000/; # 最終地址會替掉/api,變成 /xxx4、upstream負載均衡
upstream apiServer { server 10.0.0.80:5000; # 如果需要權重加 weight=數字 server 10.0.0.81:5000; } server { listen 80; server_name 127.0.0.1; location /api { proxy_pass http://apiServer; } }
需要注意的是:
upstream名稱不應包含下劃線,因為在某些條件下,當成主機名傳給后端Java應用,會被當做域名來解析,結果返回Null,容易觸發服務器內部錯誤。建議:使用駝峰命名規范5、允許它站跨域訪問
在location /api {}里添加以下項:
add_header Access-Control-Allow-Origin *; # *表示允許所有站跨域訪問(不安全,建議指定具體允許的域名如:http://b.domain.com:9000(注意格式:http(s):// + domain + port,末尾也不能加/) add_header Access-Control-Allow-Credentials true; #此項為允許帶cookie跨域訪問,若設置true,上面域名配置不能為*,必須指定具體域名6、開啟gzip壓縮
gzip字段設置on,并設置哪些類型文件需要壓縮:
http { include mime.conf; default_type application/octet-stream; .... gzip on; gzip_min_length 10k; gzip_comp_level 5; gzip_types text/plain text/css application/x-javascript application/javascript text/javascript; server { .... }7、其它問題
1.) 訪問服務報403權限
需要修改nginx.conf里的user,比如user root;
2.) nginx重啟時報pid錯:
nginx: [error] invalid PID number "" in "/usr/local/nginx/logs/nginx.pid"
解決方案:使用nginx -c的參數指定nginx.conf文件的位置
$ mkdir -p /usr/local/nginx/logs $ touch /usr/local/nginx/logs/nginx.pid $ nginx -c /usr/local/nginx/conf/nginx.conf
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/39784.html
摘要:一安裝采用方式安裝自動安裝啟動二及默認端口配置泛解析配置三常用命令重新加載配置停止服務 一、安裝 采用yum方式安裝 ##自動安裝 yum nginx ##啟動 nginx 二、SSL及默認端口配置 泛解析配置 server { listen 443; server_name *.banacoo.cn; ssl on; ssl_certifica...
摘要:領了一個服務器,開啟了一個偽全棧的運維之路,各種服務線上部署。然后配置安全組,然后啟動實例。安裝與配置基礎組件安裝與配置登錄進服務后,就可以開啟一段服務器配置之旅了。 最近世道動蕩,在前往高級的路上走出了車到山前必有路,睜眼一看是絕路的感覺。所以就索性瞎折騰一下。領了一個服務器,開啟了一個偽全棧的運維之路,各種服務線上部署。 服務器申請與實例連接接 騰訊免費七天,阿里要錢,山里娃就在亞...
閱讀 3115·2021-11-24 09:39
閱讀 973·2021-09-07 10:20
閱讀 2393·2021-08-23 09:45
閱讀 2267·2021-08-05 10:00
閱讀 573·2019-08-29 16:36
閱讀 840·2019-08-29 11:12
閱讀 2821·2019-08-26 11:34
閱讀 1843·2019-08-26 10:56