linux 服务器nginx配置
1.前期准备
1.1:下载nginx-1.18.0版本 http://nginx.org/download/nginx-1.18.0.tar.gz 然后上传到服务器 /usr/local/src 目录下
1.2:安装编译工具及库文件
// 一键安装四个依赖
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
1.3:安装 PCRE PCRE 作用是让 Nginx 支持 Rewrite 功能
// 进入到安装目录
cd /usr/local
// 下载pcre-8.35
wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz
// 解压安装包
tar zxvf pcre-8.35.tar.gz
// 进入安装包目录
cd pcre-8.35
// 编译安装
./configure
*如果出现Error:You needa C++ compiler for C++ support.输入yum install -y gcc gcc-c++
make && make install
// 查看pcre版本
pcre-config --version
// 查看pcre版本
rpm -qa pcre
2.nginx安装
2.1:进入到nginx文件目录
cd /usr/local/src/
2.2:解压安装包
tar -zxvf nginx-1.18.0.tar.gz
2.3:进入安装包目录
cd nginx-1.18.0
2.4:编译安装
// 将nginx编译安装到/usr/local/nginx下
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/pcre-8.35
make
make install
2.5:启动nginx
// 常见命令
cd /usr/local/nginx/sbin/
// 启动nginx
./nginx
// 查看nginx版本
/usr/local/nginx/sbin/nginx -V
// 网页查看nginx是否启动
网址输入ip地址,出现以下内容说明nginx启动成功
*如果访问不了 查看服务器安全组是否开放了80
// 关闭 此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程
./nginx -s stop
// 此方式停止步骤是待nginx进程处理任务完毕进行停止
./nginx -s quit
// 重新加载配置文件
./nginx -s reload
3.SSL配置
3.1:如果我们使用SSL证书需要引用到nginx的中SSL这个模块
上述nginx安装的时候加了./configure --prefix=/usr/local/nginx --with- http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/pcre-8.35 其中 --with-http_ssl_module就是添加ssl模块 如果没有加ssl模块可以添加这个模块就好了
3.2:要有SSL对应的 公钥和私钥 放到指定文件夹下 /usr/local/nginx/cert/
service.pem # 公钥
service.key # 私钥
3.3:修改nginx配置文件
cd /usr/local/nginx/conf
vi nginx.conf
// 修改80端口文件(http)
server {
listen 80; #监听80端口(http默认端口)
server_name www.XXX.com; #填写绑定证书的域名
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://127.0.0.1:8081; #服务器ip:端口号
}
#error_page 404 /404.html;
#redirect server error pages to the static page /50x.html
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
// 修改443端口文件(https)
server {
listen 443 ssl; #监听443端口(https默认端口)
server_name www.XXX.com; #填写绑定证书的域名
#ssl on;
ssl_certificate /usr/local/nginx/cert/XXX.pem; #填写你的证书所在的位置
ssl_certificate_key /usr/local/nginx/cert/XXX.key; #填写你的key所在的位置
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; #按照这个套件配置
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://120.0.0.1:80/; #服务器ip:端口号
}
}
3.4:退出修改nginx配置文件
// 不保存退出
esc --> :q! --> 回车(强制退出)
esc --> :q --> 回车 (不强制退出)
// 保存退出
esc --> :wq --> 回车
3.5:重启 nginx
cd /usr/local/nginx/sbin/
3.5.1:重新加载配置文件(推荐)
// 当 ngin x的配置文件 nginx.conf 修改后,要想让配置生效需要重启 nginx,使用-s reload不用先停止 ngin x再启动 nginx 即可将配置信息在 nginx 中生效,如下:
./nginx -s reload
3.5.2:先停止再启动(不推荐)
// 对 nginx 进行重启相当于先停止再启动,即先执行停止命令再执行启动命令。如下:
./nginx -s quit
./nginx