引言
随着互联网的快速发展,网站服务器在企业和个人中的应用越来越广泛。CentOS作为一款开源的Linux操作系统,因其稳定性、安全性以及良好的兼容性,被广大用户所青睐。Nginx作为一款高性能的HTTP和反向代理服务器,以其轻量级、高并发、低资源消耗等特点,成为构建高效网站服务器的首选。本文将详细介绍CentOS+Nginx的安装与实战技巧,帮助您轻松构建高效网站服务器。
一、CentOS系统环境准备
1. 系统安装
下载CentOS安装镜像:从CentOS官网下载最新的安装镜像。
创建U盘启动盘:使用第三方软件(如Rufus)将安装镜像烧录到U盘。
重启计算机并从U盘启动:设置BIOS从U盘启动,进入安装界面。
按照提示进行安装,选择合适的分区方案、网络设置等。
2. 系统优化
关闭防火墙:由于后续将使用Nginx进行反向代理,关闭防火墙可以避免不必要的干扰。
systemctl stop firewalld
systemctl disable firewalld
开启TCP/IP快速路径:优化网络性能。
echo ‘net.ipv4.tcp_fastopen = 3’ >> /etc/sysctl.conf
sysctl -p
关闭SELinux:提高系统安全性。
setenforce 0
sed -i ‘s/^SELINUX=enforcing/SELINUX=disabled/’ /etc/selinux/config
二、Nginx安装与配置
1. 安装Nginx
安装EPEL仓库:EPEL仓库提供了大量的RPM包,包括Nginx。
yum install epel-release
安装Nginx:
yum install nginx
2. Nginx配置
查看Nginx默认配置文件:
cat /etc/nginx/nginx.conf
修改默认配置文件:根据实际需求修改server块中的监听端口、根目录、错误日志等参数。
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
3. 重启Nginx服务
启动Nginx服务:
systemctl start nginx
设置Nginx服务开机自启:
systemctl enable nginx
三、Nginx实战技巧
1. 负载均衡
安装Nginx的HTTP模块:
yum install nginx-mod-http-upstream-healthcheck
修改Nginx配置文件,添加upstream模块:
upstream myapp {
server app1.example.com;
server app2.example.com;
server app3.example.com;
}
server {
listen 80;
server_name myapp.example.com;
location / {
proxy_pass http://myapp;
}
}
重启Nginx服务。
2. SSL证书配置
生成SSL证书:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/nginx.key -out /etc/nginx/ssl/nginx.crt
修改Nginx配置文件,添加ssl模块:
server {
listen 443 ssl;
server_name myapp.example.com;
ssl_certificate /etc/nginx/ssl/nginx.crt;
ssl_certificate_key /etc/nginx/ssl/nginx.key;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
ssl_session_tickets off;
ssl_prefer_server_ciphers on;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ‘ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384’;
ssl_ecdh_curve secp384r1;
ssl_on_done;
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 valid=300s;
location / {
proxy_pass http://myapp;
}
}
重启Nginx服务。
3. 热部署
安装Nginx的HTTP模块:
yum install nginx-mod-http-upstream-healthcheck
修改Nginx配置文件,添加热部署模块:
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;
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}
}
使用
nginx -s reload
命令进行热部署。
四、总结
本文详细介绍了CentOS+Nginx的安装与实战技巧,通过学习本文,您可以快速搭建一个高效、稳定的网站服务器。在实际应用中,根据需求不断优化Nginx配置,提高网站性能。希望本文对您有所帮助。