我的这篇文章只告诉如何安装nginx。开始前,请你在centos安装好预编译环境,我的虚拟机网络设置为NAT模式,虚拟机IP设置为192.168.30.9
yum install -y gcc gcc-c++ make \
zlib zlib-devel pcre pcre-devel \
openssl openssl-devel
在 nginx 官网下载稳定版本的nginx
使用xftp软件将其上传至服务器
查看该归档包里有哪些内容 (不解包)
tar -tvf ./nginx-1.26.1.tar.gz
解压并配置
tar -zxvf ./nginx-1.26.1.tar.gz
cd nginx-1.26.1
开始编译
这里一定要注意的点是必须写路径,包括 --config-path;--sbin-path;--pid-path,--with-http_ssl_module;--with-openssl=/opt/openssh-1.1.1s(你的可能不一样);否则最后无法安装成功,如果不知道怎么写,那么大体上可以按照我的这个走,openssl版本不能用最新,会因为版本过高直接报错,无法编译!!
如果你用了高版本 openssl
我使用的openssl 版本为 1.1.1s,下载页位于: https://github.com/openssl/openssl/releases?page=4,同样上传服务器并解压
./configure --without-http_limit_req_module --without-http_limit_conn_module --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --with-http_ssl_module --with-openssl=[指向你下载的openssl源码位置]
现在你已经编译nginx成功,但请注意,您只是编译成功,并不是安装
不出意外,你的nginx文件夹多出了一个Makefile文件
现在进入安装
make && make install
检验是否存在安装,也就是是否存在/usr/local/nginx目录
ls /usr/local | grep nginx
添加设置允许nginx以后台模式启动
vim /usr/local/nginx/nginx.conf
启动nginx,并在终端内检测服务是否在运行
cd /usr/local/nginx && ./nginx
ps -aux | grep -v grep | grep nginx
# 正常状态HTTP码应为200
curl -I 127.0.0.1:80
关闭防火墙,SELinux,清除 iptables 规则
初次访问,selinux未必关的掉 (也就说虽然设置了setenforce 0,但是不会立即生效,最好虚拟机重启一次
这里修改的 /etc/selinux/config,让selinux开机不生效
sed -ri 's/enforcing/disabled/' /etc/selinux/config
现在你已经可以通过 HTTP协议,访问你的nginx服务器了
现在我们要开始使用 HTTPS 访问,我选择在nginx的目录里创建存放证书的目录
mkdir -p /usr/local/nginx/certs
生成 RSA 私钥
cd /usr/local/nginx/certs
openssl genrsa 2048 > server.pem
根据私钥生成签名证书
对nginx 进行添加SSL参数,使其允许HTTPS访问
注释 http server 部分
取消注释,且添加
重启nginx,并在外部访问
/usr/local/nginx/nginx -s reload