CentOS7编译安装Nginx

Nginx在CentOS上安装可以使用yum或源码安装,推荐使用源码安装的方式,因为yum的版本比较旧,而且使用源码可以自定义功能,方便业务的上的使用,源码安装需要提前准备标准的编译器和依赖即可。下面记录一下如何编译安装Nginx,避免在安装时各种缺少依赖库的情况!

安装Nginx

1、安装gcc编译器

yum -y install gcc

2、nginx的http模块使用pcre来解析正则表达式,所以需要安装pcre库

yum install -y pcre pcre-devel

3、 nginx使用zlib对http包的内容进行gzip,所以需要安装zlib

yum install -y zlib zlib-devel

4、openssl是nginx的https模块需要的,所以需要安装openssl

yum install -y openssl openssl-devel

5、下载Nginx源码包

wget http://nginx.org/download/50fdfa08e93ead7a111cba5a5f5735af.gz

6、把压缩包解压缩到 /usr/local下

tar -zxvf  50fdfa08e93ead7a111cba5a5f5735af.gz
mv nginx-1.9.9 /usr/local/

7、进入/usr/local/nginx-1.9.9

cd /usr/local/nginx-1.9.9

8、编译安装

./configure

make

make install

9、安装完成不想配置环境变量的话可以建立软链接

ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/nginx

10、配置文件的修改

cp /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.back
vim /usr/local/nginx/conf/nginx.conf

启动/停止

1、启动

nginx

2、 快速停止

nginx -s stop

3、正常停止

nginx -s quit

4、重新加载配置文件

nginx -s reload

配置HTTPS

上面讲述了如何编译安装Nginx,要想用HTTPS, 我们只需要在原有的基础上添加ssl模块就行了

来到解压目录

cd /usr/local/nginx-1.9.9
./configure --with-http_ssl_module

make

停止Nginx

nginx -s stop

把之前的nginx先备份一下,然后把新的程序复制过去覆盖之前的即可

cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak

cp objs/nginx /usr/local/nginx/sbin/nginx

接下来配置证书

解压后得到两个文件,放在服务器的任意目录

接下来就是修改Nginx的配置文件

#user  nobody;
user root;
worker_processes  2;

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       80;
        server_name  zouchanglin.cn;
		return 301 https://zouchanglin.cn;
        
    }
	# HTTPS server
    server {
        listen       443;
        server_name  zouchanglin.cn;
		
		ssl on;
        ssl_certificate      /root/nginx.crt;
        ssl_certificate_key  /root/nginx.key;

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;

        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;

        location / {
            root   /root/hexo/public;
            index  d4c0f50720a538647399fc1363896cce.html index.htm;
        }
    }
}

注意 ssl on; 这个配置一定要加上!