HCRM博客

如何在CentOS上配置Nginx服务器?

在CentOS环境中配置Nginx是一个相对简单且常见的任务,但需要一定的步骤和注意事项,以下是详细的配置步骤和相关FAQs:

安装所需环境

1、安装 gcc: 由于Nginx是使用C语言开发的,因此需要C编译器来安装Nginx。

如何在CentOS上配置Nginx服务器?-图1
(图片来源网络,侵权删除)

```bash

yum install gccc++

```

2、安装 pcre 和 pcredevel: PCRE(Perl Compatible Regular Expressions)库用于解析正则表达式,nginx的http模块使用pcre来解析正则表达式。

```bash

yum install y pcre pcredevel

如何在CentOS上配置Nginx服务器?-图2
(图片来源网络,侵权删除)

```

3、安装 zlib: zlib库提供压缩和解压缩功能,nginx使用zlib对HTTP包的内容进行gzip压缩。

```bash

yum install y zlib zlibdevel

```

4、安装 OpenSSL: OpenSSL是一个强大的安全套接字层密码库,支持HTTPS协议。

如何在CentOS上配置Nginx服务器?-图3
(图片来源网络,侵权删除)

```bash

yum install y openssl openssldevel

```

安装 Nginx

1、下载源码包: 从Nginx官网下载最新的稳定版本。

```bash

wget P /opt/soft https://nginx.org/download/nginx1.18.0.tar.gz

```

2、解压源码包: 将下载的文件解压到指定目录。

```bash

cd /opt/soft

tar nosameowner zxvf nginx1.18.0.tar.gz

```

3、配置 Nginx: 使用默认配置进行安装。

```bash

cd nginx1.18.0

./configure

```

4、编译并安装: 执行编译和安装命令。

```bash

make

make install

```

5、设置命令别名: 为了方便使用,设置Nginx的命令别名。

```bash

vi ~/.bash_profile

alias nginx='/usr/local/nginx/sbin/nginx'

source ~/.bash_profile

```

6、检查配置文件: 确保Nginx配置文件正确无误。

```bash

nginx t

```

7、启动 Nginx: 启动Nginx服务。

```bash

nginx

```

管理 Nginx

1、启动 Nginx: 使用systemctl命令启动Nginx服务。

```bash

systemctl start nginx

```

2、停止 Nginx: 停止Nginx服务。

```bash

systemctl stop nginx

```

3、重启 Nginx: 重新加载配置文件并重启Nginx服务。

```bash

systemctl restart nginx

```

4、查看 Nginx状态: 检查Nginx服务的运行状态。

```bash

systemctl status nginx

```

5、启用开机启动: 设置Nginx服务开机自启。

```bash

systemctl enable nginx

```

6、禁用开机启动: 取消Nginx服务开机自启。

```bash

systemctl disable nginx

```

配置 HTTPS

1、安装 acme.sh: acme.sh是一个用于申请Let’s Encrypt通配符证书的脚本。

```bash

curl s https://get.acme.sh | sh

```

2、生成 HTTPS 证书: 使用acme.sh生成证书。

```bash

~/.acme.sh/acme.sh issue d example.com webroot /usr/share/nginx/html/example.com w .wellknown/acmechallenge

```

3、拷贝证书到 Nginx: 将生成的证书文件拷贝到Nginx的配置目录。

```bash

mkdir p /etc/nginx/ssl

cp ~/.acme.sh/example.com/example.com.cer /etc/nginx/ssl/example.com.crt

cp ~/.acme.sh/example.com/private.key /etc/nginx/ssl/example.com.key

```

4、配置 Nginx 使用 SSL: 修改Nginx配置文件以使用HTTPS。

```bash

server {

listen 80;

server_name example.com;

return 301 https://$host$request_uri;

}

server {

listen 443 ssl;

server_name example.com;

ssl_certificate /etc/nginx/ssl/example.com.crt;

ssl_certificate_key /etc/nginx/ssl/example.com.key;

...

}

```

常见问题解答 (FAQs)

1、如何检查Nginx是否成功启动?

答案: 你可以使用以下命令检查Nginx的状态:

```bash

systemctl status nginx

```

如果Nginx成功启动,你会看到active (running)的状态信息,你还可以通过访问服务器的IP地址或域名来验证Nginx是否正常工作,在浏览器中输入http://your_server_ip,如果看到Nginx的欢迎页面,说明Nginx已成功启动并运行。

2、如何解决端口被占用的问题?

答案: 如果Nginx启动时提示端口被占用,你可以按照以下步骤解决:

查找占用端口的进程: 使用以下命令找到占用特定端口(如80)的进程:

```bash

sudo lsof i :80

```

终止占用端口的进程: 如果确定某个进程占用了80端口并且可以安全终止,你可以使用kill命令终止这个进程:

```bash

sudo kill 9 <PID>

```

<PID>是上一步查到的进程ID,然后重新启动Nginx,如果问题依然存在,建议更换Nginx监听的端口,并在防火墙中开放该端口。

分享:
扫描分享到社交APP
上一篇
下一篇