編譯安裝
nginx版本:1.21.6
聯(lián)網(wǎng)安裝
1. 安裝依賴
yum -y install gcc gcc-c++ automake pcre pcre-devel zlib zlib-devel openssl openssl-devel
2. 創(chuàng)建安裝目錄
mkdir /data/nginx
3. 編譯安裝
上傳nginx源碼包至系統(tǒng),解壓并進(jìn)入目錄
tar -zxvf nginx-1.21.6.tar.gz
cd nginx-1.21.6/
生成 makefile 文件,指定安裝路徑、模塊
./configure --prefix=/data/nginx --with-http_ssl_module --with-stream
編譯 && 安裝
make
make install
4. 啟動nginx
/data/nginx/sbin/nginx -c /data/nginx/conf/nginx.conf
離線安裝
說明:已打包離線yum源,將其上傳至附件,附件名為nginx_gcc_packages.tar.gz
nginx版本:1.21.6
1. 配置本地yum源
創(chuàng)建存放目錄
mkdir /repo
上傳打包好的離線yum源,并解壓至/repo目錄下
tar -zxvf nginx_gcc_packages.tar.gz -C /repo/
配置本地yum源
# mkdir /etc/yum.repos.d/bak
# mv /etc/yum.repos.d/* /etc/yum.repos.d/bak/
# vim /etc/yum.repos.d/local.repo//文件中添加以下內(nèi)容
[local]
name=local
baseurl=file:///repo/nginx_gcc_packages/
gpgcheck=0
enabled=1
驗證yum源是否可用
# yum clean all
# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
repo id repo namestatus
local local42
repolist: 42
如果repolist的值為0,則yum源存在問題
2. 安裝依賴
yum -y install gcc gcc-c++ automake pcre pcre-devel zlib zlib-devel openssl openssl-devel
3. 創(chuàng)建安裝目錄
mkdir /data/nginx
4. 編譯安裝
上傳nginx源碼包至系統(tǒng),解壓并進(jìn)入目錄
tar -zxvf nginx-1.21.6.tar.gz
cd nginx-1.21.6/
生成 makefile 文件,指定安裝路徑、模塊
./configure --prefix=/data/nginx --with-http_ssl_module --with-stream
編譯 && 安裝
make
make install
5. 啟動nginx
/data/nginx/sbin/nginx -c /data/nginx/conf/nginx.conf
yum 安裝
聯(lián)網(wǎng)安裝
1. 添加epel源
yum -y install epel-release.noarch
2. 安裝nginx,目前版本為1.20.1
yum -y install nginx
3. 啟動nginx并設(shè)置開機(jī)自啟
systemctl start nginx
systemctl enable nginx
離線安裝
說明:已打包離線yum源,將其上傳至附件,附件名為nginx_packages.tar.gz
1. 配置本地yum源
創(chuàng)建存放目錄
mkdir /repo
上傳打包好的離線yum源,并解壓至/repo目錄下
tar -zxvf nginx_packages.tar.gz -C /repo/
配置本地yum源
# mkdir /etc/yum.repos.d/bak
# mv /etc/yum.repos.d/* /etc/yum.repos.d/bak/
# vim /etc/yum.repos.d/local.repo//文件中添加以下內(nèi)容
[local]
name=local
baseurl=file:///repo/nginx_packages/
gpgcheck=0
enabled=1
驗證yum源是否可用
# yum clean all
# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
repo id repo namestatus
local local5
repolist: 5
如果repolist的值為0,則yum源存在問題
2. 安裝nginx,目前版本為1.20.1
yum -y install nginx
3. 啟動nginx并設(shè)置開機(jī)自啟
systemctl start nginx
systemctl enable nginx
Nginx配置優(yōu)化
編輯nginx主配置文件nginx.conf
# vim /data/nginx/conf/nginx.conf 修改內(nèi)容如下
#user nobody;
worker_processes 2;
worker_cpu_affinity 01 10;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pidlogs/nginx.pid;
worker_rlimit_nofile 65535;
events {
worker_connections 8192;
}
http {
include mime.types;
......
修改參數(shù)釋義
worker_processes 2;
設(shè)置nginx工作進(jìn)程數(shù),默認(rèn)為1,推薦按照cpu數(shù)目來指定,一般跟cpu核數(shù)相同,如2核就設(shè)置為2,4核設(shè)置為4。
worker_cpu_affinity 01 10;
將worker與CPU綁定,如果是4核cpu,工作進(jìn)程數(shù)為4的話,配置示例為worker_cpu_affinity 0001 0010 0100 1000;
worker_rlimit_nofile 65535
指定此進(jìn)程打開的最大文件描述符的值 worker_rlimit_nofile 65535,理論值應(yīng)該是系統(tǒng)的最多打開文件數(shù)(ulimit -n)與nginx進(jìn)程數(shù)相除,但是nginx分配請求并不是那么均勻,所以最好與ulimit -n的值保持一致。
worker_connections 8192;
設(shè)置每個工作進(jìn)程能接受最大的客戶端的連接數(shù),默認(rèn)為1024