在CentOS上配置Nginx涉及多个步骤,包括安装依赖环境、下载和编译Nginx、启动和管理Nginx、配置防火墙等,以下是详细的配置过程:
安装所需环境
1、安装GCC编译器:Nginx是由C语言开发的,所以需要一个C编译器来编译源码包,执行以下命令安装GCC编译器:
```bash
yum install gccc++ y
```
2、安装PCRE库及开发库:PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括perl兼容的正则表达式库,Nginx的http模块使用PCRE来解析正则表达式,执行以下命令安装:
```bash
yum install pcre pcredevel y
```
3、安装zlib库及开发库:zlib库提供了很多种压缩和解压缩的方式,Nginx使用zlib对HTTP包的内容进行gzip,执行以下命令安装:
```bash
yum install zlib zlibdevel y
```
4、安装OpenSSL库及开发库:OpenSSL是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,执行以下命令安装:
```bash
yum install openssl openssldevel y
```
下载并解压Nginx
1、下载Nginx源码包:访问Nginx官网下载最新版本的Nginx源码包,下载1.20.2版本:
```bash
wget HTTPS://nginx.org/download/nginx1.20.2.tar.gz
```
2、解压源码包:将下载的源码包解压到指定目录,解压到/opt/soft
目录:
```bash
tar nosameowner zxvf nginx1.20.2.tar.gz C /opt/soft
```
配置并编译Nginx
1、进入Nginx目录:切换到解压后的Nginx目录。
```bash
cd /opt/soft/nginx1.20.2
```
2、配置Nginx:使用默认配置安装,执行以下命令:
```bash
./configure withhttp_stub_status_module withhttp_ssl_module
```
3、编译并安装Nginx:执行以下命令进行编译和安装:
```bash
make && make install
```
启动和管理Nginx
1、启动Nginx:进入Nginx的sbin目录,执行以下命令启动Nginx:
```bash
/usr/local/nginx/sbin/nginx
```
2、检查Nginx配置文件:使用以下命令检查Nginx配置文件的正确性:
```bash
nginx t
```
3、重启和停止Nginx:使用以下命令重启和停止Nginx:
重启:nginx s reload
停止:nginx s stop
配置防火墙
1、开放80和443端口:如果服务器启用了防火墙,需要开放80和443端口,执行以下命令:
```bash
firewallcmd permanent zone=public addservice=http
firewallcmd permanent zone=public addservice=https
firewallcmd reload
```
配置HTTPS
1、安装acme.sh并生成证书:一键安装acme.sh,并生成免费的HTTPS证书,执行以下命令:
```bash
curl https://get.acme.sh | sh
acme.sh issue dns dns_ali d domain
```
2、拷贝证书到Nginx配置目录:将生成的证书拷贝到Nginx的配置目录,执行以下命令:
```bash
mkdir p /etc/nginx/ssl
acme.sh installcert d domain
keyfile /etc/nginx/ssl/domain.key
fullchainfile /etc/nginx/ssl/domain.crt
reloadcmd "service nginx forcereload"
```
3、配置Nginx使用HTTPS:编辑Nginx配置文件,添加HTTPS支持,在/etc/nginx/conf.d/default.conf
中添加:
```nginx
server {
listen 80;
server_name domain www.domain;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}
server {
listen 443 ssl;
server_name domain www.domain;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
ssl on;
ssl_certificate /etc/nginx/ssl/domain.crt;
ssl_certificate_key /etc/nginx/ssl/domain.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHERSAAES128GCMSHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4:!DH:!DHE;
ssl_prefer_server_ciphers on;
error_page 497 https://$host$uri?$args;
}
```
通过以上步骤,可以在CentOS系统上成功安装、配置和管理Nginx。