CentOS 安装 Nginx
2021/10/23 7:13:03
本文主要是介绍CentOS 安装 Nginx,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
文章目录
- 1. 下载 Nginx
- 2. 开始安装
- 2.1 进入 Linux 服务器,上传安装包
- 2.2 将文件解压到指定目录,/usr/local
- 2.3 安装步骤
- 2.3.1 安装编译工具及库文件
- 2.3.2 安装PCRE
- 2.3.3 安装Nginx
- 3. Nginx 配置 与 启动
- 3.1 Nginx 配置
- 3.2 访问站点
- 3.3 常用命令
- 4 代理 TCP 连接
- 4.1 nginx.conf 配置 stream
- 4.2 安装 stream 模块
- 4.3 验证
1. 下载 Nginx
下载Nginx链接 http://nginx.org/en/download.html
我这里是基于 nginx-1.18.0 版本进行安装演示的,演示IP 192.168.106.139。
2. 开始安装
2.1 进入 Linux 服务器,上传安装包
# cd / # mkdir software # cd /software/ # ll total 1016 -rw-r--r-- 1 root root 1039530 Oct 22 10:19 nginx-1.18.0.tar.gz
2.2 将文件解压到指定目录,/usr/local
# cd /software/ # tar -zxvf nginx-1.18.0.tar.gz -C /usr/local/ # cd /usr/local/ # ll total 18964 drwxr-xr-x. 2 root root 49 Apr 15 2021 bin drwxr-xr-x. 2 root root 6 Apr 11 2018 etc drwxr-xr-x. 2 root root 6 Apr 11 2018 games drwxr-xr-x. 2 root root 6 Apr 11 2018 include drwxr-xr-x. 2 root root 6 Apr 11 2018 lib drwxr-xr-x. 2 root root 6 Apr 11 2018 lib64 drwxr-xr-x. 2 root root 6 Apr 11 2018 libexec drwxr-xr-x 8 1001 dba 158 Apr 21 2020 nginx-1.18.0 drwxr-xr-x. 2 root root 6 Apr 11 2018 sbin drwxr-xr-x. 5 root root 49 Mar 25 2021 share drwxr-xr-x. 2 root root 6 Apr 11 2018 src
压缩包已解压完成。
2.3 安装步骤
2.3.1 安装编译工具及库文件
# yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
2.3.2 安装PCRE
PCRE 的作用是让 Nginx 支持 Rewrite 功能。
- 下载安装包,下载地址
http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz
下载完成后将文件上传至我们之前创建好的 /software 目录下,然后解压到 /usr/local 目录下
- 解压安装包
# cd /software # ll total 2968 -rw-r--r-- 1 root root 1039530 Oct 22 10:19 nginx-1.18.0.tar.gz -rw-r--r-- 1 root root 1996552 Oct 22 10:38 pcre-8.35.tar.gz # tar -zxvf pcre-8.35.tar.gz -C /usr/local/ # cd /usr/local/ # ll | grep pcre drwxr-xr-x 7 1169 1169 8192 Apr 4 2014 pcre-8.35
- 进入解压包,开始编译和安装
# cd pcre-8.35 # ./configure # make && make install
- 查看 pcre 版本,pcre已安装完成
# pcre-config --version 8.35
2.3.3 安装Nginx
- 进入到 Nginx 解压目录,编译安装
# cd /usr/local/nginx-1.18.0 # ./configure --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/pcre-8.35 # make # make install
- 查看 Nginx 版本
# /usr/local/webserver/nginx/sbin/nginx -v nginx version: nginx/1.18.0
到此,Nginx 安装完成。
3. Nginx 配置 与 启动
3.1 Nginx 配置
配置nginx.conf ,将/usr/local/webserver/nginx/conf/nginx.conf替换为以下内容
worker_processes 1; #设置值和CPU核心数一致 #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; error_log /usr/local/webserver/nginx/logs/nginx_error.log crit; #日志位置和日志级别 pid /usr/local/webserver/nginx/nginx.pid; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; #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; upstream active_mq{ server 192.168.106.136:8161; server 192.168.106.137:8161; } sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; #gzip on; # 代理 activeMQ 控制台页面 server { listen 8161; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { proxy_pass http://active_mq; } } # another virtual host using mix of IP-, name-, and port-based configuration #下面是server虚拟主机的配置 server{ listen 80;#监听端口 server_name localhost;#域名,名称可以自己定义 index index.html index.htm index.php; root /usr/local/webserver/nginx/html; #站点目录 location ~ .*\.(php|php5)?$ { #fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi.conf; } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|ico)$ { expires 30d; } location ~ .*\.(js|css)?$ { expires 15d; } access_log off; } # HTTPS server # #server { # listen 443 ssl; # server_name localhost; # ssl_certificate cert.pem; # ssl_certificate_key cert.key; # ssl_session_cache shared:SSL:1m; # ssl_session_timeout 5m; # ssl_ciphers HIGH:!aNULL:!MD5; # ssl_prefer_server_ciphers on; # location / { # root html; # index index.html index.htm; # } #} }
使用命令检查 nginx 配置文件的正确性:
# /usr/local/webserver/nginx/sbin/nginx -t nginx: the configuration file /usr/local/webserver/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/webserver/nginx/conf/nginx.conf test is successful
启动 nginx 服务,查看进程
# /usr/local/webserver/nginx/sbin/nginx # ps -ef | grep nginx
3.2 访问站点
使用浏览器访问我们配置的站点
3.3 常用命令
- 重新加载配置文件
/usr/local/webserver/nginx/sbin/nginx -s reload - 重启 nginx 服务
/usr/local/webserver/nginx/sbin/nginx -s reopen - 停止 nginx 服务
/usr/local/webserver/nginx/sbin/nginx -s stop
4 代理 TCP 连接
在上一章节中我们配置了 ActiveMQ 的8161端口,它属于 http 协议,用于访问 ActiveMQ 的控制台,那如何使我们安装的 Nginx 能够代理 tcp 协议的端口呢?比如 ActiveMQ 的 61616 端口。
Nginx 中提供了 stream 模块,可以用来代理 tcp 协议的端口,安装 Nginx 的时候默认没有加载 stream 模块。
所以在 nginx.conf 文件中配置了 stream,在检查配置文件正确性时会报错。
4.1 nginx.conf 配置 stream
- 添加 stream 配置,与 http 模块同级
stream{ #-----------------------ActiveMQ----------------------# upstream active_mq_61616{ server 192.168.106.136:61616; server 192.168.106.137:61616; } server{ listen 61616; proxy_pass active_mq_61616; proxy_connect_timeout 10s; proxy_timeout 300s; } }
- 检查配置文件的正确性
# /usr/local/webserver/nginx/sbin/nginx -t nginx: [emerg] unknown directive "stream" in /usr/local/webserver/nginx/conf/nginx.conf:104 nginx: configuration file /usr/local/webserver/nginx/conf/nginx.conf test failed
检查不通过
为了解决这个问题,我们需要重新对源文件进行编译、安装,通过添加–with-stream参数指定安装stream模块。
4.2 安装 stream 模块
进入 /usr/local/nginx-1.18.0 目录
# cd /usr/local/nginx-1.18.0 # ./configure --with-stream 或者 ./configure --prefix=/usr/local/webserver/nginx --with-stream # make & make install
检查配置文件正确性
/usr/local/webserver/nginx/sbin/nginx -t
文件检查通过,说明 stream 模块安装成功。
4.3 验证
重启 Nginx,验证 61616 端口是否可用。
window中打开 cmd 命令行,输入如下命令:
telnet 192.168.106.139 61616
经过验证,Nginx 代理 tcp 协议配置完成。
这篇关于CentOS 安装 Nginx的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-13用Nginx防范DDoS攻击的那些事儿
- 2024-12-13用Terraform在AWS上搭建简单NGINX服务器指南
- 2024-10-29Nginx发布学习:从入门到实践的简单教程
- 2024-10-28Nginx发布:新手入门教程
- 2024-10-21nginx 怎么设置文件上传最大20M限制-icode9专业技术文章分享
- 2024-10-17关闭 nginx的命令是什么?-icode9专业技术文章分享
- 2024-09-17Nginx实用篇:实现负载均衡、限流与动静分离
- 2024-08-21宝塔nginx新增8022端口方法步骤-icode9专业技术文章分享
- 2024-08-21nginx配置,让ws升级为wss访问的方法步骤-icode9专业技术文章分享
- 2024-08-15nginx ws代理配置方法步骤-icode9专业技术文章分享