当前位置: 首页 > news >正文

nginx 安装

Nginx 简介

  • nginx一种十分轻量级的http服务器
  • 一种高性能的HTTP和反向代理服务器,同时是一个IMAP/POP3/SMTP 代理服务器
  • 其中官网网站

安装Nginx

使用源码编辑安装

#提前安装相关工具软件包
yum -y install net-tools tar unzip gcc make pcre-devel openssl-devel httpd-tools  # gcc make 编译工具   pcre-devel 开发用的正则表达式依赖包 (提供.h库)  openssl-devel  开发用的ssl加密依赖包(提供.h库)  net-tools  网络相关软件包 httpd-tools 提供htpasswd命令的相关工具#解压nginx包
tar -xf nginx-1.22.1.tar.gz
#进入nginx目录
cd nginx-1.22.1
#生成适合当前系统的MakeFile文件,用于后续的编辑和安装
./configure --prefix=/usr/local/nginx  #指定安装路径
--user=nginx	#指定用户
--group=nginx  #指定用户组
--with-http_ssl_module 	#开启ssl加密功能make  # 编译
make install #安装#进入nginx工作路径
cd /nsr/local/nginx#其中
conf/nginx.conf 是配置文件  其备份默认配置文件在conf/nginx.conf.default 
pass 是用户认证记录文件
html/index.html 是默认网页访问路径
sbin/nginx  是主程序

nginx相关用法

/usr/local/nginx/sbin/nginx #启动服务
/usr/local/nginx/sbin/nginx -s stop #关闭服务  其中 -s 表示发送信号sign
/usr/local/nginx/sbin/nginx -s reload #重加载配置文件
/usr/local/nginx/sbin/nginx -V #查看nginx信息,可以查看到./configure 配置的信息ss -ntulp # ss 查看系统启动的端口信息 -n 以数字格式显示端口号  -t/u 显示TCP和UDP连接的端口  -l 显示服务正在监听的端口信息,比如httpd启动后,一直监听80端口动态 -p 显示监听端口的服务名称是什么(程序名) -a 显示所有端口信息#测试curl  http://192.168.99.5  #出现nginx欢迎界面

加入用户认证(ssl加密)

修改配置文件 /usr/local/nginx/sbin/nginx/conf/nginx.conf
添加如下两行

        auth_basic "Input Password:";                        #认证提示符信息auth_basic_user_file  "/usr/local/nginx/pass";        #认证的密码文件
server {listen       80;server_name  localhost;auth_basic "Input Password:";                        #认证提示符信息auth_basic_user_file  "/usr/local/nginx/pass";        #认证的密码文件location / {root   html;index  index.html index.htm;}}htpasswd -c /usr/local/nginx/pass tom #创建账户和密码,并记录在/usr/local/nginx/pass 文件中
/usr/local/nginx/pass  -s reload #重新加载配置才可生效#测试
curl http://192.168.99.5  #会提示认证提示,输入账户密码,测试过程中需要清除缓冲保证实验顺利进行

实现基于域名的虚拟主机

实现两个基于域名的虚拟主机,分别为www.a.com,www.b.com,可通过两个域名解析为192.168.99.5进行访问
提前配置/etc/hosts 文件

#追加
192.168.99.5 www.a.com www.b.com

添加虚拟站点

    [root@proxy nginx]# vim /usr/local/nginx/conf/nginx.confhttp {.. ..server {listen       80;                                      #端口server_name  www.b.com;                    #新虚拟主机定义域名location / {root   html_b;                                    #指定网站根路径index  index.html index.htm;            #默认页面}}server {listen  80;                                        #端口server_name  www.a.com;                     #默认的虚拟主机,修改域名location / { root   html;                                 #指定网站根路径index  index.html index.htm;}}}#测试通过curl访问两个不同域名看到两个不同的页面#修改listen 80 为 listen 122 监听端口
可通过哦curl ip:122 访问

配置SSL虚拟主机

对ssl处理的站点添加ssl相关指令,设置对应的非对称加密(私钥,密钥)
修改nginx.conf配置文件

    [root@proxy nginx]#vim  /usr/local/nginx/conf/nginx.conf… …    server {listen       443 ssl;server_name            localhost;ssl_certificate      cert.pem;            #这里是证书文件ssl_certificate_key  cert.key;            #这里是私钥文件ssl_session_cache    shared:SSL:1m;ssl_session_timeout  5m;ssl_ciphers  HIGH:!aNULL:!MD5;ssl_prefer_server_ciphers  on;location / {root   https;                        #加密网站根目录index  index.html index.htm;}}
[root@proxy nginx]#openssl genrsa > conf/cert.key            #生成私钥
[root@proxy nginx]#openssl req -x509 -key conf/cert.key > conf/cert.pem    #生成公钥(证书)[root@proxy nginx]# echo "https~~~~ "  > https/index.html     #创建安全网站的页面
[root@proxy nginx]# sbin/nginx -s reload    #重加载配置
[root@proxy nginx]# curl  -k  https://192.168.99.5     #测试,-k是忽略安全风险
https~~~~      #看到这个内容就说明实验成功
http://www.lryc.cn/news/302963.html

相关文章:

  • 手撕扩散模型(一)| 训练部分——前向扩散,反向预测代码全解析
  • linux 防火墙
  • Go应用性能分析实战
  • MySQL的索引类型
  • picker选择器-年月日选择
  • 【LeetCode-494】目标和(回溯动归)
  • 力扣 188. 买卖股票的最佳时机 IV
  • 【Go语言】Go项目工程管理
  • 美容小程序:让预约更简单,服务更贴心
  • 【递归】:原理、应用与案例解析 ,助你深入理解递归核心思想
  • 【 Maven 】花式玩法之多模块项目
  • LeetCode 热题 100 Day01
  • [vscode]vue js部分结尾加分号
  • 友点CMS image_upload.php 文件上传漏洞复现
  • C语言—指针(3)
  • 【八股文】面向对象基础
  • Day49 647 回文子串 516 最长回文子序列
  • 探秘GNU/Linux Shell:命令行的魔法世界
  • 基于STM32F407的coreJSON使用教程
  • keepalived双主模式测试
  • 微服务中的熔断、降级和限流
  • 2023年便宜的云服务器分享:最低26元4核16G
  • 汽车零部件制造业MES系统解决方案
  • 区块链/加密币/敏感/特殊题材专供外媒发稿,英文多国语言海外新闻营销推广
  • 初识Nginx
  • Rust语言之多线程
  • 现有的通用模型中融入少量中文数据没有太大意义少量的数据就能影响整个大模型
  • vscode 开发代码片段插件
  • 算法竞赛STL:array的使用方法
  • MyBatis sql拦截器实现一个自动根据租户进行分表的方案