Nginx的编译安装
下载nginx稳定版:
cd /home/username/download/
wget http://nginx.org/download/nginx-1.16.0.tar.gz
tar zxvf nginx-1.16.0.tar.gz
cd nginx-1.16.0
添加用户和用户组
sudo addgroup -r nginx
sudo adduser -g nginx -r nginx
下载依赖文件
Ubuntu:
# gcc g++的依赖包
sudo apt-get install -y build-essential libtool
# pcer 依赖库 用于http的rewrite模块
sudo apt-get install -y libpcre3 libpcre3-dev
# 安装zlib依赖库
sudo apt-get install -y zlib1g-dev
# 安装openssl支持ssl加密
sudo apt-get install -y openssl libssl-dev
CentOS:
yum install gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
执行编译 — 个人使用,都放在一个位置方便管理
./configure --prefix=/usr/local/nginx \
--conf-path=/usr/local/nginx/etc/nginx.conf \
--user=nginx --group=nginx \
--error-log-path=/usr/local/nginx/nginxlog/error.log \
--http-log-path=/usr/local/nginx/nginxlog/access.log \
--pid-path=/usr/local/nginx/pids/nginx.pid \
--lock-path=/usr/local/nginx/locks/nginx.lock \
--with-http_ssl_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--http-client-body-temp-path=/usr/local/nginx/tmp/client \
--http-proxy-temp-path=/usr/local/nginx/tmp/proxy \
--http-fastcgi-temp-path=/usr/local/nginx/tmp/fastcgi \
--http-uwsgi-temp-path=/usr/local/nginx/tmp/uwsgi \
--http-scgi-temp-path=/usr/local/nginx/tmp/scgi
执行编译的结果为:
Configuration summary
+ using system PCRE library
+ using system OpenSSL 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/etc"
nginx configuration file: "/usr/local/nginx/etc/nginx.conf"
nginx pid file: "/usr/local/nginx/pids/nginx.pid"
nginx error log file: "/usr/local/nginx/nginxlog/error.log"
nginx http access log file: "/usr/local/nginx/nginxlog/access.log"
nginx http client request body temporary files: "/usr/local/nginx/tmp/client"
nginx http proxy temporary files: "/usr/local/nginx/tmp/proxy"
nginx http fastcgi temporary files: "/usr/local/nginx/tmp/fastcgi"
nginx http uwsgi temporary files: "/usr/local/nginx/tmp/uwsgi"
nginx http scgi temporary files: "/usr/local/nginx/tmp/scgi
执行安装
make && make install
安装结束后查看安装的结果
cd /usr/local/nginx/
tree
.
├── etc
│ ├── fastcgi.conf
│ ├── fastcgi.conf.default
│ ├── fastcgi_params
│ ├── fastcgi_params.default
│ ├── koi-utf
│ ├── koi-win
│ ├── mime.types
│ ├── mime.types.default
│ ├── nginx.conf
│ ├── nginx.conf.default
│ ├── scgi_params
│ ├── scgi_params.default
│ ├── uwsgi_params
│ ├── uwsgi_params.default
│ └── win-utf
├── html
│ ├── 50x.html
│ └── index.html
├── nginxlog
├── pids
└── sbin
└── nginx
完善目录
mkdir -pv /usr/local/nginx/tmp/{client,proxy,fastcgi,uwsgi,scgi}
启动Nginx
# 启动
/usr/local/nginx/sbin/nginx
# 检查是否启动
ss -tnlp | grep :80
检测到80端口被nginx占用则表示nginx启动成功
LISTEN 0 511 *:80 *:* users:(("nginx",pid=25049,fd=6),("nginx",pid=25048,fd=6))
停止启动和重载
/usr/local/nginx/sbin/nginx -s stop
/usr/local/nginx/sbin/nginx -s quit
/usr/local/nginx/sbin/nginx reload
执行编译 — 正常的编译
./configure --prefix=/usr/local/nginx \
--conf-path=/etc/nginx/nginx.conf \
--user=nginx --group=nginx \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--with-http_ssl_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/tmp/nginx/client \
--http-proxy-temp-path=/var/tmp/nginx/proxy \
--http-fastcgi-temp-path=/var/tmp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/tmp/nginx/uwsgi \
--http-scgi-temp-path=/var/tmp/nginx/scgi
参考:
https://www.cnblogs.com/liaoxianfu/p/0ec6427a9b5fa9063022fac1c2561395.html
https://blog.youkuaiyun.com/g1531997389/article/details/79135212