前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >编译安装nginx

编译安装nginx

作者头像
summerking
发布2022-10-27 13:38:17
4270
发布2022-10-27 13:38:17
举报
文章被收录于专栏:summerking的专栏summerking的专栏

# 1.解压源码包

  • 解压
代码语言:javascript
复制
[root@summer nginx]# tar xvf nginx-1.19.4.tar.gz
[root@summer nginx]# ll
total 1036
drwxr-xr-x 9 1001 1001    4096 Nov 18 17:49 nginx-1.19.4
-rw-r--r-- 1 root root 1054974 Nov 18 17:45 nginx-1.19.4.tar.gz
[root@summer nginx]# 

# 2.编译

  1. configure
代码语言:javascript
复制
[root@summer nginx-1.19.4]# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module --with-http_flv_module --wule
checking for OS
 + Linux 3.10.0-957.21.3.el7.x86_64 x86_64
checking for C compiler ... found
 + using GNU C compiler
 + gcc version: 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) 
checking for gcc -pipe switch ... found
checking for -Wl,-E switch ... found
...
  1. make
代码语言:javascript
复制
[root@summer nginx-1.19.4]# make
make -f objs/Makefile
make[1]: Entering directory `/home/summer/nginx/nginx-1.19.4'
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
	-o objs/src/core/nginx.o \
	src/core/nginx.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
	-o objs/src/core/ngx_log.o \
	src/core/ngx_log.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
	-o objs/src/core/ngx_palloc.o \
	src/core/ngx_palloc.c
...
  1. make install
代码语言:javascript
复制
[root@summer nginx-1.19.4]# make install
make -f objs/Makefile install
make[1]: Entering directory `/home/summer/nginx/nginx-1.19.4'
test -d '/usr/local/nginx' || mkdir -p '/usr/local/nginx'
test -d '/usr/local/nginx/sbin' \
	|| mkdir -p '/usr/local/nginx/sbin'
test ! -f '/usr/local/nginx/sbin/nginx' \
	|| mv '/usr/local/nginx/sbin/nginx' \
		'/usr/local/nginx/sbin/nginx.old'
cp objs/nginx '/usr/local/nginx/sbin/nginx'
test -d '/usr/local/nginx/conf' \
	|| mkdir -p '/usr/local/nginx/conf'
...

# 3.验证

代码语言:javascript
复制
[root@summer sbin]# ./nginx 
[root@summer sbin]# ll
total 7216
-rwxr-xr-x 1 root root 7388072 Nov 18 17:50 nginx
[root@summer sbin]# cd ..
[root@summer nginx]# ll
total 36
drwx------ 2 nobody root 4096 Nov 18 17:57 client_body_temp
drwxr-xr-x 2 root   root 4096 Nov 18 17:50 conf
drwx------ 2 nobody root 4096 Nov 18 17:57 fastcgi_temp
drwxr-xr-x 2 root   root 4096 Nov 18 17:50 html
drwxr-xr-x 2 root   root 4096 Nov 18 17:57 logs
drwx------ 2 nobody root 4096 Nov 18 17:57 proxy_temp
drwxr-xr-x 2 root   root 4096 Nov 18 17:50 sbin
drwx------ 2 nobody root 4096 Nov 18 17:57 scgi_temp
drwx------ 2 nobody root 4096 Nov 18 17:57 uwsgi_temp
[root@summer nginx]# pwd
/usr/local/nginx
[root@summer nginx]# cd conf/
[root@summer conf]# ll
total 68
-rw-r--r-- 1 root root 1077 Nov 18 17:50 fastcgi.conf
-rw-r--r-- 1 root root 1077 Nov 18 17:50 fastcgi.conf.default
-rw-r--r-- 1 root root 1007 Nov 18 17:50 fastcgi_params
-rw-r--r-- 1 root root 1007 Nov 18 17:50 fastcgi_params.default
-rw-r--r-- 1 root root 2837 Nov 18 17:50 koi-utf
-rw-r--r-- 1 root root 2223 Nov 18 17:50 koi-win
-rw-r--r-- 1 root root 5231 Nov 18 17:50 mime.types
-rw-r--r-- 1 root root 5231 Nov 18 17:50 mime.types.default
-rw-r--r-- 1 root root 2656 Nov 18 17:50 nginx.conf
-rw-r--r-- 1 root root 2656 Nov 18 17:50 nginx.conf.default
-rw-r--r-- 1 root root  636 Nov 18 17:50 scgi_params
-rw-r--r-- 1 root root  636 Nov 18 17:50 scgi_params.default
-rw-r--r-- 1 root root  664 Nov 18 17:50 uwsgi_params
-rw-r--r-- 1 root root  664 Nov 18 17:50 uwsgi_params.default
-rw-r--r-- 1 root root 3610 Nov 18 17:50 win-utf

此时访问ip:默认80端口即可(注意开放防火墙等)

# (补充)4.Nginx做文件服务器 支持上传和下载

  1. 下载nginx-upload模块并编译
代码语言:javascript
复制
[root@summer ]# yum install -y git gcc gcc-c++ pcre-devel openssl openssl-devel
[root@summer ]# git clone https://github.com/vkholodkov/nginx-upload-module/
[root@summer ]# tar -zxvf nginx-1.19.4.tar.gz 
[root@summer ]# ll
total 1032
drwxr-xr-x 9 1001 1001     186 Nov 24 21:59 nginx-1.19.4
-rw-r--r-- 1 root root 1054974 Nov 24 21:57 nginx-1.19.4.tar.gz
drwxr-xr-x 4 root root     279 Nov 24 21:58 nginx-upload-module
[root@summer ]# cd nginx-1.19.4
[root@summer ]# ./configure --with-compat --add-dynamic-module=../nginx-upload-module
[root@summer ]# make && make install
  1. 验证
  • 查看模块
代码语言:javascript
复制
[root@summer sbin]# ./nginx -V
nginx version: nginx/1.19.4
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) 
built with OpenSSL 1.0.2k-fips  26 Jan 2017
TLS SNI support enabled
configure arguments: --with-compat --add-dynamic-module=../nginx-upload-module
  • 新建几个验证文件
代码语言:javascript
复制
[root@summer summer]# touch file{1..10}
[root@summer summer]# ll
total 0
-rw-r--r-- 1 root root 0 Nov 24 22:16 file1
-rw-r--r-- 1 root root 0 Nov 24 22:16 file10
-rw-r--r-- 1 root root 0 Nov 24 22:16 file2
-rw-r--r-- 1 root root 0 Nov 24 22:16 file3
-rw-r--r-- 1 root root 0 Nov 24 22:16 file4
-rw-r--r-- 1 root root 0 Nov 24 22:16 file5
-rw-r--r-- 1 root root 0 Nov 24 22:16 file6
-rw-r--r-- 1 root root 0 Nov 24 22:16 file7
-rw-r--r-- 1 root root 0 Nov 24 22:16 file8
-rw-r--r-- 1 root root 0 Nov 24 22:16 file9
  1. 配置
  • 用户密码配置
代码语言:javascript
复制
[root@summer ]# yum install -y httpd-tools
[root@summer ]# htpasswd -c /usr/local/nginx/conf/htpasswd summer
New password: 
Re-type new password: 
Adding password for user summer
  • nginx配置
代码语言:javascript
复制
user root;
worker_processes  1;

pid        logs/nginx.pid;

include /usr/share/nginx/modules/*.conf;

events {
    worker_connections 1024;
}

http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 2048;

    include             /usr/local/nginx/conf/mime.types;
    default_type        application/octet-stream;

    server {
        client_max_body_size 500m;
        listen       8097 default_server;
        listen       [::]:8097 default_server;
        server_name  _;
        autoindex   on;
        

        location / {
            root /home/summer;
            auth_basic "security download area";
            auth_basic_user_file "/usr/local/nginx/conf/htpasswd";
            autoindex on;
        }
    }

}

此时启动nginx后浏览器输入ip:8097

效果如下:

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-11-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • # 1.解压源码包
  • # 2.编译
  • # 3.验证
  • # (补充)4.Nginx做文件服务器 支持上传和下载
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档