日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Nginx >内容正文

Nginx

ios中amplify配置configure_Nginx源码编译安装及配置文件初步学习

發布時間:2023/12/4 Nginx 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ios中amplify配置configure_Nginx源码编译安装及配置文件初步学习 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

????通過源碼編譯安裝。

nginx.org #官網地址???# 安裝過程???wget?http://nginx.org/download/nginx-1.18.0.tar.gz?-P?/usr/src???# tar文件用tar命令解壓???tar?-zxvf?nginx-1.18.0.tar.gz

關于wget的-P參數,manual中的解釋是

prefix,Set directory prefix to prefix

????./configure

????源碼安裝三步曲,配置-編譯-安裝,和上一篇文章介紹python源碼安裝相同。我們進入到解壓后的nginx目錄下面,可以看到這個configure,其類似于windows系統上的exe,我們也可以使用./configure --help來查看幫助

????因為我的云服務器上已經安裝了相關依賴,所以可以直接進行配置

./configure --prefix=/usr/local/nginx

????如果發現配置報錯,可以看下錯誤,大概率是報依賴的錯誤,例如

error: the HTTP rewrite module requires the PCRE library

????如果為了省事,在配置之前可以一口氣安裝以下4個依賴,從左到右分別為C語言編譯器,nginx重寫功能,解壓相關的依賴。

yum -y install gcc pcre-devel zlib zlib-devel

????依賴安裝完成之后,centos下可以使用如下命令查看版本,此時再進行配置就沒關系了。

rpm -q pcre-devel >>>pcre-devel-8.42-4.el8.x86_64

? ? 配置完成之后可能會發現OpenSSL library is not used,這個是專用于將域名從http跳轉到https加密必須要使用的庫。

?????配置完成之后該目錄下會多出一個文件Makefile和一個文件夾objs。

make

??? make將源碼進行編譯,生成可執行程序。

????make之前的obj目錄

????make之后

make install

??? make install,安裝。


????我們可以看到安裝完成之后在服務器上生成了很多文件,以下凡是prefix和path指定的是目錄,而file則指定的是文件。

nginx?path?prefix?#?nginx安裝目錄nginx?binary?file?#?nginx執行程序,二進制文件就是啟動程序nginx?modules?path?#?nginx模塊存放目錄nginx configuration prefix # 配置文件存放目錄nginx configuration file # 配置文件nginx?pid?file # nginx進程號nginx error log file # 錯誤日志nginx http access log file# 使用二進制文件啟動/usr/local/nginx/sbin/nginx

????可以看到80端口(nginx默認監聽端口)已經在監聽了,如果此時Linux防火墻和安全組放行了端口號,通過瀏覽器訪問云服務器的公網IP應該是已經可以看到Welcome to nginx!的經典畫面了。(服務的三大要素:端口監聽地址協議。)

????我們也可以在云服務器上通過elinks(文本界面瀏覽器)來訪問公網IP,elinks的好處在于沒有緩存!開發測試時都知道緩存有多難受!我的服務器版本是centos8

cat /proc/versionLinux version 4.18.0-147.5.1.el8_1.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 8.3.1 20190507 (Red Hat 8.3.1-4) (GCC)) #1 SMP Wed Feb 5 02:00:39 UTC 2020

?

? ? 需要通過PowerTools倉庫,先查看下自己的擁有的倉庫

yum?config-manager?--enable?PowerTools# 加入PowerTools倉庫yum install elinks lynx # 再安裝

????此時在服務器上輸入elinks,彈出如下畫面,則說明安裝成功

或者直接 elinks?IP,也可以看見相關內容


? ? 初步了解Nginx全局配置文件nginx.conf(PS:因為我使用Xshell連接的服務器,上傳下載蠻不方便,于是裝了lrzsz,就可以愉快的使用rz和sz快捷的上傳和下載文件,以后再次安裝這個包,我們也許不記得包名,但是可以使用yum search rz來對包名進行搜索)。


在網上找了張釋義圖,蠻形象的

????回歸正文-配置文件每行釋義

#啟動nginx子進程的默認用戶是誰?#user nobody;

????查看80端口,發現有兩個nginx,其中上面的是父進程,父進程肯定是由root用戶啟動的。

#子進程數有幾個?一般修改為核數#?工作進程是單進程多線程的# 這里定義的是工作進程數量worker_processes 4;

修改用戶(用戶名不是亂加的,須是在/etc/passwd文件下的用戶)和子進程數之后,再次啟動,使用ps命令查看如下所示:

其中root用戶一行STAT為Ss,S表示為休眠狀態,s表示其是進程的領導者(在它之下有子進程)。

#全局錯誤日志的位置及日志格式#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;#主進程號#pid?logs/nginx.pid;

可以看到正好與上面ps命令查看到的root用戶啟動的主進程ID15427相同,寫到這里又不得不多寫一句,想到之前看過的一篇文章,介紹Unix/Linux 的基本哲學之一,“一切皆是文件”,可以看到我們所謂的進程ID與普通文件的查看方式也沒什么不同。

events { #每個工作進程下的最大線程數 worker_connections 1024;}

從上,我們可以知道最大并發數即為最大線程數*工作進程數量。


http服務器設置

#http服務器設置,可以嵌套多個serverhttp {....}

在http服務器配置中的參數詳解如下:

#設定mime類型,類型由mime.type文件定義#所有http都走這個模型include mime.types;# 日志記錄格式#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

此時,我們其實可以看下access.log,大致是這么個東西

從左至右的順序正式我們log_format中定義的數據格式。

??? remote_addr和http_x_forwarded_for用以記錄客戶端的ip地址;

??? remote_user:用于記錄客戶端用戶名稱;

??? time_local:用于記錄訪問時間和時區;

??? request:用于記錄請求的url和http協議;

??? status:記錄請求狀態

??? body_bytes_sent:發送給客戶端文件的html主體內容大小,在前端頁面中對應Response Headers中的Content-Length

??? http_referer:記錄上一個頁面訪問鏈接

??? http_user_agent:客戶瀏覽器的相關信息

#指定nginx是否調用sendfile函數(zero copy方式)來輸出文件#對于普通應用,必須設為onsendfile on;#允許或禁止socke的TCP_CORK的選項,此選項僅在使用sendfile時使用#默認開啟#tcp_nopush on;#長連接超時時間#keepalive_timeout 0;keepalive_timeout??65;#gzip??on;

如何配置server?我們是通過server來發布一個網站,一個server就可以發布一個網站,server又被稱作虛擬主機。

server { #虛擬主機使用的端口 listen 80; #虛擬主機的域名是什么 server_name localhost; #虛擬主機支持的字符集 #charset koi8-r; #虛擬主機的訪問日志路徑 #access_log logs/host.access.log main; #定位web的根路徑,即用戶訪問你域名時所訪問的內容 location / { #根目錄路徑下面的html文件夾 #這也可以解釋為什么啟動nginx之后用戶可以看到歡迎頁面,即存在根目錄下的html目錄下 root html; #索引頁 index index.html index.htm; } #grep -r "404"??#error_page??404??????????????/404.html; # redirect server error pages to the static page /50x.html #根據錯誤碼返回對應的頁面 #如果是以下50*的錯誤狀態,那么就讓用戶去訪問/50x.html error_page 500 502 503 504 /50x.html; #當用戶去訪問/50x.html頁面時,定義頁面路徑 location = /50x.html { root html;??}}

總結

以上是生活随笔為你收集整理的ios中amplify配置configure_Nginx源码编译安装及配置文件初步学习的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。