Nginx安装
Linux
包安装
1 2 3 4 5
| sudo yum install nginx
sudo apt install nginx
|
源码安装
1、安装gcc
安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装。
1 2 3 4 5 6 7 8
| yum install gcc-c++ yum install make automake gcc gcc-c++ kernel-devel
apt install gcc apt install build-essential
|
2、PCRE pcre-devel 安装
PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库。
1 2 3 4 5
| yum install -y pcre pcre-devel
apt install libpcre3 libpcre3-dev
|
3、zlib 安装
zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。
1 2 3 4 5
| yum install -y zlib zlib-devel
apt install zlib1g zlib1g-dev
|
4、OpenSSL 安装
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。
1 2 3 4 5
| yum install -y openssl openssl-devel
sudo apt install openssl libssl-dev
|
5、Nginx 安装
下载地址:https://nginx.org/en/download.html
1 2 3 4 5 6
| wget https://nginx.org/download/nginx-1.20.1.tar.gz tar -zxvf nginx-1.20.1.tar.gz cd nginx-1.20.1 ./configure make make install
|
6、开机自启动
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| cd /lib/systemd/system/ vim nginx.service ==================================================== [Unit] Description=nginx service After=network.target [Service] Type=forking ExecStartPre=/usr/local/nginx/sbin/nginx -t ExecStart=/usr/local/nginx/sbin/nginx ExecReload=/usr/local/nginx/sbin/nginx -s reload ExecStop=/usr/local/nginx/sbin/nginx -s quit PrivateTmp=true [Install] WantedBy=multi-user.target ==================================================== systemctl enable nginx
systemctl start nginx
|
Windows
1、下载解压缩到安装目录
不用添加系统环境变量,直接到安装目录运行命令。
2、到安装目录下启动
1 2
| start nginx nginx -s stop
|
常用命令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| cd /usr/local/nginx/sbin/ ./nginx ./nginx -s stop ./nginx -s quit ./nginx -s reopen ./nginx -s reload ps aux|grep nginx
service firewalld start
service firewalld restart
service firewalld stop
firewall-cmd --list-all
firewall-cmd --query-port=8080/tcp
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --remove-port=8080/tcp
firewall-cmd --reload
|
Nginx作用
Nginx配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| upstream domain_test { server 192.168.6.198:80 weight=5; } server { listen 80; server_name 172.16.33.106; access_log main; location / { proxy_pass http://172.16.33.106:8686; root html; index index.html index.htm; } }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| server { listen 80 default_server; listen [::]:80 default_server;
index index.html index.htm;
root /home/zyadmin/html;
server_name _;
location / { proxy_pass http://localhost:8080; }
location /anno/ { proxy_pass http://localhost:8080/; }
location /code/ { proxy_pass http://127.0.0.1:8081/; proxy_set_header Host $host; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection upgrade; proxy_set_header Accept-Encoding gzip; } }
|
1 2 3
| sudo service nginx start sudo service nginx reload
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| server { listen 80; listen [::]:80; server_name 172.16.33.106; index index.php index.html index.htm; location /anno { proxy_pass http://172.16.33.106:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } location /code { proxy_pass http://172.16.33.106:8484; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| upstream domain_test { server 192.168.6.198:80 weight=5; } server { listen 80; server_name client-test.sinoif.com; access_log "pipe:rollback /var/www/logs/nginx/client-test-access.log interval=1d baknum=7 maxsize=1G" main; location / { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-NginX-Proxy true; proxy_pass http://domain_test; } }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| upstream test_dev { server localhost:8081 weight=5; } upstream test_ded { server localhost:8082 weight=5; } server { listen 80; server_name test.com; access_log "pipe:rollback /var/www/logs/nginx/test.com-access.log interval=1d baknum=7 maxsize=1G" main; location ^~/ded/ { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-NginX-Proxy true; proxy_pass http://test_ded/; } location ^~/dev/ { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-NginX-Proxy true; proxy_pass http://test_dev/; } }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| upstream apachephp { server ip:8080; }
server { listen 80; server_name www.nowamagic.net; access_log logs/quancha.access.log main; error_log logs/quancha.error.log; root html; index index.html index.htm index.php; location / { proxy_pass http://apachephp; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; proxy_max_temp_file_size 0; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; } }
|