CentOS Nginx服务器配置详解
一、安装Nginx及相关依赖
1、安装GCC:Nginx的编译需要GCC编译器,执行以下命令进行安装:
yum -y install gcc
2、安装PCRE库:Nginx的rewrite模块需要PCRE库,执行以下命令进行安装:
yum install -y pcre pcre-devel
3、安装Zlib库:Nginx的gzip功能需要Zlib库,执行以下命令进行安装:
yum install -y zlib zlib-devel
4、安装OpenSSL库:Nginx的https功能需要OpenSSL库,执行以下命令进行安装:
yum install -y openssl openssl-devel
5、下载并解压Nginx:从官网下载最新版本的Nginx压缩包,并进行解压,假设下载的是1.20.2版本:
wget http://nginx.org/download/nginx-1.20.2.tar.gz tar -zxvf nginx-1.20.2.tar.gz cd nginx-1.20.2
6、编译和安装Nginx:执行以下命令进行编译和安装:
./configure --with-http_stub_status_module --with-http_ssl_module make make install
7、创建软链接:为了方便操作,可以创建一个软链接:
ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/nginx
二、启动Nginx服务
1、检查配置文件正确性:在启动Nginx之前,建议先检查配置文件的正确性:
nginx -t
2、启动Nginx服务:执行以下命令启动Nginx:
nginx
3、访问测试:通过浏览器访问服务器IP地址,如果出现Nginx的欢迎页面,则说明Nginx已经成功安装并启动。
三、Nginx配置详解
Nginx的配置文件通常位于/etc/nginx/nginx.conf
或/usr/local/nginx/conf/nginx.conf
(具体路径取决于安装方式),下面是一个基本的Nginx配置示例:
全局块 user nginx; worker_processes 1; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events块 events { worker_connections 1024; } http块 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 /var/log/nginx/access.log main; # 发送文件的位置 sendfile on; #tcp_nopush on; # 保持与客户端的连接数 keepalive_timeout 65; # 设置客户端请求头缓冲区大小 client_header_buffer_size 1k; client_max_body_size 1m; large_client_header_buffers 2 1k; # 负载均衡配置示例 upstream myapp { server 127.0.0.1:8080; server 127.0.0.1:8081; } # 虚拟主机配置示例 server { listen 80 default_server; listen [::]:80 default_server; server_name yourdomain.com; root /usr/share/nginx/html; # 负载均衡配置 location / { proxy_pass http://myapp; 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-Forwarded-Proto $scheme; } # 静态资源目录配置 location /static { alias /path/to/static/files; } # 错误页配置 error_page 404 /404.html; location = /404.html { root /usr/share/nginx/html; } } }
四、常见问题及解答(FAQs)
Q1: Nginx启动失败,提示“permission denied”怎么办?
A1: 这通常是由于SELinux策略限制导致的,可以尝试以下方法解决:
临时关闭SELinux进行测试:setenforce 0
修改Nginx的SELinux布尔值:setsebool -P httpd_can_network_connect on
(对于CentOS 7及更高版本)
如果问题依旧存在,可以考虑调整SELinux的策略或模块。
Q2: 如何更改Nginx的默认网页根目录?
A2: 编辑Nginx的配置文件(如/etc/nginx/nginx.conf
),找到root
指令并更改其值为新的网页根目录路径即可,将默认的/usr/share/nginx/html
更改为/data/www
:
root /data/www;
修改后,重新加载Nginx配置以使更改生效:nginx -s reload
。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1391035.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复