Centos7安装配置Nginx 并配置ssl实现https访问

本文详细介绍了在阿里云服务器上安装并配置Nginx的过程,包括使用yum安装Nginx、启动和设置开机自启动,以及如何配置Nginx代理javaweb项目。同时提供了HTTPS和HTTP两种配置示例。

阿里云服务器安装Centos7

阿里云服务器安全组规则开放80、443端口

示例项目:启动java web项目8080端口

 

安装Nginx:推荐yum安装,集成依赖库,并且免环境配置,关键是比手动配的效果还好。。。。

 

使用root用户登录服务器(不用root用户的话,也可以用sudo执行一下命令)

一、安装Nginx

yum install -y nginx

注意:我这里是阿里云的Centos默认配了国内yum源。如果你是自己下的Centos的镜像安装的虚拟机,需要更改yum镜像,推荐配置阿里云镜像源(方法百度),或先者执行:

rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

安装源后在执行上述安装命令。

二、启动Nginx

systemctl start nginx.service

三、添加开机自启动

systemctl enable nginx.service

yum安装就是这么简单,手动安装就会麻烦很多了。

四、查看Nginx状态

 nginx -V

五、配置Nginx

通过上述命令我们可以看到,yum安装的Nginx配置文件位于/etc/nginx/nginx.conf。打开看一下,

如上图所示,yum安装的Nginx默认配置文件中会引入/etc/nginx/conf.d目录下的所有*.conf命名的配置文件,这样方便我们分类管理配置文件,我们可以一个代理服务配制一个配置文件,所以并不建议直接修改/etc/nginx/nginx.conf文件。

例如本示例中,我们在/etc/nginx/conf.d下增加配置文件ddj.conf,内容如下(SSL版,需要https)

    server {
        listen       80;
        server_name  xxx.xxx.com;
	listen       443;
	server_name  xxx.xxx.com;

	ssl          on;
        ssl_certificate /etc/nginx/key/3365777_xxx.xxx.pem;
        ssl_certificate_key /etc/nginx/key/3365777_xxx.xxx.key;

        location / {
		proxy_pass http://localhost:8080;
        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }

 

释义:

1、xxx.xxx.com:我们服务器对应的域名。

2、ssl_certificate /etc/nginx/key/3365777_xxx.xxx.pem;和ssl_certificate_key /etc/nginx/key/3365777_xxx.xxx.key;是我们的ssl证书。此证书可以在阿里云免费申请。申请好下载下来放到服务器上配制好配置文件中的路径即可。

3、proxy_pass http://localhost:8080对应我们本地要代理的程序访问端口8080

 

如果不需要SSL,只要hhtp请求的话,那配置就更简单了,如下即可:

  server {
     listen       80;
     server_name  xxx.xxx.cn;

        location / {
		proxy_pass http://localhost:8080;
        }

    }

 

六、修改了Nginx配置后重启一下服务

systemctl restart nginx.service

ok了

访问服务器域名,浏览器输入xxx.xxx.com即可访问java web项目了。

 

七、常用命令

#1、启动nginx服务

systemctl start nginx.service

#2、设置开机自启动

systemctl enable nginx.service

#3、停止开机自启动


systemctl disable nginx.service

#4、查看服务当前状态


systemctl status nginx.service

#5、重新启动服务

systemctl restart nginx.service 

#6、查看所有已启动的服务

systemctl list-units --type=service

 

<think>好的,我需要帮助用户在CentOS7安装Nginx1.26.2配置HTTPS。首先,回顾用户之前的对话,用户之前问的是如何在Linux系统安装Nginx配置HTTPS,我给出了基于Ubuntu的步骤,但现在用户明确要在CentOS7上操作,因此需要调整依赖安装部分,因为CentOS使用yum而非apt。根据用户提供的站内引用,引用[1]提到安装依赖的命令是yum安装gcc、pcre、zlib、openssl等,这和CentOS的环境相符。引用[2]和[4]提到解压源码到/usr/local/src,运行./configure指定安装路径。引用[5]还涉及了fastdfs模块的安装,但用户当前问题不需要这个,可以忽略。引用[3]提到使用systemctl管理服务,但Nginx源码安装后默认没有systemd服务文件,可能需要手动创建,或者用户需要知道如何通过二进制文件启动。用户现在的问题是如何在CentOS7安装Nginx1.26.2正确配置HTTPS。我需要整合之前的回答和新的引用内容,确保步骤适用于CentOS,特别是依赖安装部分使用yum,而不是apt。同时,配置SSL证书的部分需要保持,可能包括自签名证书或Let's Encrypt的指引。需要注意,之前的回答中提到了使用makeinstall安装到/usr/local/nginx,而CentOS的引用中安装路径可能不同,需要统一。另外,CentOS的防火墙管理是firewall-cmd,而不是ufw,所以步骤中的防火墙配置需要调整。 接下来,我需要分步骤编写:安装依赖、下载解压源码、编译安装、生成证书、配置HTTPS、启动服务和防火墙设置。同时,要确保引用正确的站内引用,比如安装依赖参考引用[1],编译步骤参考引用[2]和[4]。还要检查是否需要添加systemd服务,如引用[3]提到的,但用户可能希望使用源码安装后的启动方式,即直接运行nginx二进制,或者需要创建服务文件。如果用户之前的问题中没有涉及,可能需要省略,或者作为可选步骤。最后,生成相关问题,参考之前的模式,例如如何配置HTTP跳转HTTPS,如何申请Let'sEncrypt证书,SSL优化方法等。</think>### 在CentOS 7安装Nginx 1.26.2配置HTTPS的完整指南 --- #### 一、安装依赖环境 ```bash sudo yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel ``` 安装编译所需的开发工具和库文件(CentOS使用yum包管理器)[^1] --- #### 二、下载解压源码 ```bash cd /usr/local/src sudo wget http://nginx.org/download/nginx-1.26.2.tar.gz sudo tar -zxvf nginx-1.26.2.tar.gz cd nginx-1.26.2 ``` 源码包建议存放在`/usr/local/src`目录[^4] --- #### 三、编译安装(含SSL模块) ```bash ./configure --prefix=/usr/local/nginx \ --with-http_ssl_module \ --with-http_stub_status_module \ --with-stream sudo make && make install ``` 通过`--with-http_ssl_module`参数启用SSL支持[^2] --- #### 四、生成SSL证书(以自签名为例) ```bash sudo mkdir -p /usr/local/nginx/conf/ssl sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \ -keyout /usr/local/nginx/conf/ssl/server.key \ -out /usr/local/nginx/conf/ssl/server.crt ``` 生成证书时需填写域名等信息,生产环境建议使用Let's Encrypt证书 --- #### 五、配置HTTPS服务 修改`/usr/local/nginx/conf/nginx.conf`,添加: ```nginx server { listen 443 ssl; server_name yourdomain.com; ssl_certificate /usr/local/nginx/conf/ssl/server.crt; ssl_certificate_key /usr/local/nginx/conf/ssl/server.key; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers HIGH:!aNULL:!MD5; location / { root html; index index.html index.htm; } } ``` --- #### 六、启动与验证 ```bash # 测试配置文件 sudo /usr/local/nginx/sbin/nginx -t # 启动服务 sudo /usr/local/nginx/sbin/nginx # 查看端口监听 sudo netstat -tunlp | grep nginx ``` --- #### 七、防火墙配置 ```bash sudo firewall-cmd --permanent --add-service=https sudo firewall-cmd --reload ``` CentOS 7默认使用firewalld管理防火墙[^3] --- #### 八、创建系统服务(可选) 新建`/usr/lib/systemd/system/nginx.service`: ```ini [Unit] Description=nginx service After=network.target [Service] Type=forking ExecStart=/usr/local/nginx/sbin/nginx ExecReload=/usr/local/nginx/sbin/nginx -s reload ExecStop=/usr/local/nginx/sbin/nginx -s quit PrivateTmp=true [Install] WantedBy=multi-user.target ``` 然后执行: ```bash sudo systemctl daemon-reload sudo systemctl enable nginx ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值