Debian安装Nginx
Debian安装Nginx
1.安装编译工具
sudo apt-get install build-essential
sudo apt-get install libtool
sudo apt-get install make
如果有编译工具就不用安装
2.安装PCRE库
可以选择PCRE和PCRE2,本次演示使用的是PCRE2-10.40
wget https://github.com/PCRE2Project/pcre2/releases/download/pcre2-10.40/pcre2-10.40.tar.gz
tar -zxvf pcre2-10.40.tar.gz
cd pcre2-10.40
./configure
make
make install
3.安装zlib库
本次演示使用zlib-1.2.12
wget https://zlib.net/zlib-1.2.12.tar.gz
tar -zxvf zlib-1.2.12.tar.gz
cd zlib-1.2.12
./configure
make
make install
4.安装OpenSSL
本次演示使用openssl-3.0.5
wget https://www.openssl.org/source/openssl-3.0.5.tar.gz
tar -zxvf openssl-3.0.5.tar.gz
cd openssl-3.0.5
./config
make
make install
5.安装Nginx
本次演示使用nginx-1.23.0
wget https://nginx.org/download/nginx-1.23.0.tar.gz
tar -zxvf nginx-1.23.0.tar.gz
cd nginx-1.23.0
./configure \
--with-threads \
--with-http_ssl_module \
--with-stream \
--with-stream=dynamic \
--with-stream_ssl_module \
--with-pcre=/usr/pcre2-10.40 \
--with-zlib=/usr/zlib-1.2.12 \
--with-openssl=/usr/openssl-3.0.5
make
make install
从源代码构建 Nginx
到此已安装完成
启动Nginx
进入安装好的目录 /usr/local/nginx/sbin
./nginx #启动
./nginx -s stop #快速停止
./nginx -s quit #优雅关闭,在退出前完成已经接受的连接请求
./nginx -s reload #重新加载配置
每次修改完 nginx.conf 都要执行一次重新加载配置
Nginx 服务器 SSL 证书安装部署
不强制跳转HTTPS
server {
#SSL 访问端口号为 443
listen 443 ssl;
server_name www.XXXXX.com; #填写绑定证书的域名
ssl_certificate www.XXXXX.com_bundle.crt; #路径证书文件名称
ssl_certificate_key www.XXXXX.com.key; #路径私钥文件名称
ssl_session_timeout 5m;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location / {
root /www/.../; #网站主页路径 #例如:/www/.../
index index.html index.htm;
}
}
强制跳转HTTPS
server {
listen 443 ssl;
server_name www.XXXXX.com; #填写绑定证书的域名
ssl_certificate www.XXXXX.com_bundle.crt; #路径证书文件名称
ssl_certificate_key www.XXXXX.com.key; #路径私钥文件名称
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
location / {
root /www/.../; #网站主页路径 #例如:/www/.../
index index.html index.htm;
}
}
server {
listen 80;
server_name www.XXXXX.com; #填写绑定证书的域名
return 301 https://$host$request_uri; #把http的域名请求转成https
}
空空如也!