Linux安装和配置Nginx 以CentOS为例

本文详细介绍了在CentOS7环境中安装和配置Nginx的过程,包括设置EPEL源、安装Nginx、开启端口、常用操作、HTTPS证书安装以及代理配置,还提供了相关参考链接。
摘要由CSDN通过智能技术生成

Linux安装和配置Nginx 以CentOS为例

环境:

  • CentOS7

本文基于 CentOS 7 下安装配置 Nginx 操作实践记录整理。

一、配置 EPEL 源

sudo yum install -y epel-release
sudo yum -y update

二、安装 Nginx

sudo yum install -y nginx

安装成功后,默认的网站目录为: /usr/share/nginx/html

默认的配置文件为:/etc/nginx/nginx.conf

自定义配置文件目录为: /etc/nginx/conf.d/

三、开启端口 80 和 443

如果你的服务器打开了防火墙,你需要运行下面的命令,打开 80 和 443 端口。

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

四、常用 Nginx 操作

1.启动 Nginx

systemctl start nginx

2.停止 Nginx

systemctl stop nginx

3.重启 Nginx

systemctl restart nginx

4.查看 Nginx 状态

systemctl status nginx

5.启用开机启动 Nginx

systemctl enable nginx

6.禁用开机启动 Nginx

systemctl disable nginx

五、配置 Nginx

1. 安装 Https 免费证书(以阿里云域名为例)

一键安装 acme.sh
curl  https://get.acme.sh | sh
echo 'alias acme.sh=~/.acme.sh/acme.sh' >> ~/.bashrc
source ~/.bashrc
生成 Https 证书
export Ali_Key="**********"
export Ali_Secret="**********"
acme.sh --issue --dns dns_ali -d domain

点击阿里云后台,右上角用户头像,菜单中选择 accesskeys。

查看 AccessKey ID 和 Access Key Secret,即对应上面的 Ali_Key 和 Ali_Secret。

domain 对应该账户下购买的阿里云域名

拷贝证书到 nginx
mkdir -p /etc/nginx/ssl

acme.sh --install-cert -d domain \
--key-file       /etc/nginx/ssl/domain.key  \
--fullchain-file /etc/nginx/ssl/domain.crt \
--reloadcmd     "service nginx force-reload"

复制

https 证书拷贝成功。

目前 https 证书在 60 天以后会自动更新, 你无需任何操作. 今后有可能会缩短这个时间, 不过都是自动的, 你不用关心.

2. 配置 nginx 代理(以vue项目代理为例)

删除/etc/nginx/nginx.conf中的 server 部分代码。

server {
...
}

/etc/nginx/conf.d 创建自定义配置文件default.conf

server {
    listen 80;
    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 ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4:!DH:!DHE;
    ssl_prefer_server_ciphers  on;

    error_page 497  https://$host$uri?$args;
}

其中: root /usr/share/nginx/html; 表示网站文件目录,后面的分号不可省略。

ssl_certificate 和 ssl_certificate_key 指向 https 证书。

3、配置nginx代理

如果需要部署vue含有代理的项目,这是代理的配置文件

server {
	listen        80;
	server_name  你的域名;
	root   "/usr/share/nginx/html";
	
	location / {
		try_files $uri $uri/ /index.html;
	}
	
	location /prod-api/ {
		proxy_set_header Host $http_host;
		proxy_set_header X-Real-IP $remote_addr;
		proxy_set_header REMOTE-HOST $remote_addr;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		proxy_pass http://你的域名:8089/;
	}
}

六、参考文档

参考:https://cloud.tencent.com/developer/article/1626878
参考:https://cloud.tencent.com/developer/article/2070787

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值