当前位置:   article > 正文

Linux初学(十三)中间件

Linux初学(十三)中间件

一、Nginx

简介

Nginx是一个高性能的HTTP和反向代理web服务器
轻量级、高性能

1.1 Nginx安装

方法一:编译安装

  • 依赖:openssl-devel、zlib-devel、ncurses-devel、pcre-devel、gcc、gcc-c++

方法二:yum安装

  • Nginx的rpm包在epel源中

编译安装Nginx

下载位置:https://nginx.org

第一步:下载

[root@localhost html]# wget http://nginx.org/download/nginx-1.24.0.tar.gz

第二步:安装依赖

  1. [root@localhost ~]# yum install openssl-devel zlib-devel ncurses-devel \
  2. pcre-devel gcc gcc-c++ -y

第三步:安装Nginx

  1. [root@localhost ~]# tar xvf nginx-1.24.0.tar.gz
  2. [root@localhost ~]# cd nginx-1.24.0
  3. [root@localhost nginx-1.24.0]#./configure --prefix=/usr/local/nginx && make && make install

Nginx的目录结构

  1. [root@localhost ~]# cd /usr/local/nginx
  2. [root@localhost ~]# ls
  3. conf html logs sbin
  • conf:这个目录存放的是Nginx的配置文件
  • html:这个目录是Nginx默认网站的根目录
  • logs:这个是Nginx的日志文件目录
  • sbin:这个是Nginx的启动程序的目录

1.2 关闭防火墙和selinux

systemctl stop firewalld

systemctl disable firewalld

sed -i s/SELINUX=enforcing/SELINUX=disabled/g   /etc/selinux/config    #永久关闭

setenforce 0    #临时关闭

1.3 启动Nginx

启动程序:

  1. 方法一:
  2. [root@localhost ~]# cd /usr/local/nginx/sbin/
  3. [root@localhost sbin]# ./nginx
  4. [root@localhost sbin]# lsof -i :80
  5. 方法二:
  6. export PATH=$PATH:/usr/local/nginx/sbin/
  7. nginx

b 扩展:重启Nginx

  1. 方法一:
  2. [root@localhost ~]# cd /usr/local/nginx/sbin/
  3. [root@localhost sbin]# ./nginx -s reload
  4. 方法二:
  5. 先kill -9杀死进程,然后启动
  6. 方法三:
  7. pkill nginx
  8. /usr/local/nginx/sbin/nginx
  9. 方法四:
  10. PATH=$PATH:/usr/local/nginx/sbin/nginx
  11. nginx

扩展:让Nginx开机自动启动

  1. [root@localhost ~]# echo "/usr/local/nginx/sbin/nginx" >>/etc/rc.d/rc.local
  2. [root@localhost ~]#chmod +x /etc/rc.d/rc.local

关闭Nginx

[root@localhost ~]#pkill nginx

1.4 Nginx的配置文件

配置文件的位置

  1. yum安装:/etc/nginx/
  2. 编译安装:安装位置/conf/

文件名

nginx.conf

配置文件的基本结构

  1. 全局段:
  2. 可以什么都没有
  3. 可以有
  4. http段: - 虚拟主机段

配置文件的格式

  1. worker_processes 3; #设置Nginx的工作进程数为3
  2. events { #开始定义事件相关的配置
  3. worker_connections 1024; #每个工作进程允许的最大连接数为1024
  4. } #结束事件相关的配置
  5. http { #开始定义HTTP的配置
  6. include mime.types #包含MIME类型映射文件,用于确定请求资源的类型
  7. default_type application/octet-stream; #设置默认的MIME类型为二进制流
  8. sendfile on; #开启高效文件传输模式
  9. keepalive_timeout 65; #设置长连接超时时间为65秒
  10. server { #开始定义一个服务器块
  11. listen 80; #监听80端口
  12. server_name www.web1.com; #设置服务器名称为www.web1.com
  13. root /usr/local/nginx/html; #设置服务器根目录为/usr/local/nginx/html
  14. index index.html index.htm; #设置默认的索引文件为index.html和index.htm
  15. access_log logs/host.access.log main; #设置访问日志文件为logs/host.access.log,使用main日志格式
  16. error_log logs/host.error.log main; #设置错误日志文件为logs/host.error.log,使用main日志格式。
  17. } #结束服务器块配置
  18. } #结束HTTP相关的配置

1.5 基于nginx发布多个网站

第一步:更改配置文件

位置:/urs/local/nginx/conf/nginx.conf

注意:一个server模块就是一个网站,现在部署三个网站

  1. worker_processes 3;
  2. events {
  3. worker_connections 1024;
  4. }
  5. http {
  6. include mime.types
  7. default_type application/octet-stream;
  8. sendfile on;
  9. keepalive_timeout 65;
  10. server {
  11. listen 80;
  12. server_name www.web1.com;
  13. root /usr/local/nginx/html/web1;
  14. index index.html index.htm;
  15. }
  16. server {
  17. listen 80;
  18. server_name www.web2.com;
  19. root /usr/local/nginx/html/web2;
  20. index index.html index.htm;
  21. }
  22. server {
  23. listen 80;
  24. server_name www.web3.com;
  25. root /usr/local/nginx/html/web3;
  26. index index.html index.htm;
  27. }
  28. }

第二步:修改自己电脑的hosts文件

位置:C:\windows\system32\dirvers\etc\hosts

添加三行:

        192.168.1.96  www.web1.com
        192.168.1.96 www.web2.com
        192.168.1.96 www.web3.com
注意:

        需要把hosts文件,拖到桌面上,才能修改并保存,然后拖回去
        IP地址,是自己Linux的IP

第三步:创建文件

echo "1111111"  >/usr/local/nginx/html/web1/a.html

echo "222222"  >/usr/local/nginx/html/web2/b.html

echo "333333"  >/usr/local/nginx/html/web3/c.html

 第四步:浏览器访问

在浏览器中输入域名:www.web1.com/a.html
在浏览器中输入域名:www.web2.com/b.html

在浏览器中输入域名:www.web3.com/c.html

1.6 nginx服务脚本

  1. #!/bin/bash
  2. #判断用户是否传进来一个参数
  3. if [ $# -ne 1 ];then
  4. echo "UseAge: $0 start|restart|stop/status"
  5. exit 3;
  6. fi
  7. #定义一个参数,用来判断nginx是否已经启动
  8. lsof -i :80 | grep nginx &>/dev/null
  9. flag=$?
  10. check_status(){
  11. if [ f$lag -eq 0 ];then
  12. echo "nginx is already running..."
  13. else
  14. echo "ngins is already stopped"
  15. fi
  16. }
  17. start_nginx() {
  18. if [ $flag -eq 0 ];then
  19. echo "Nginx is already running...."
  20. exit;
  21. else
  22. /usr/local/nginx/sbin/nginx
  23. echo "nginx start success"
  24. exit;
  25. fi
  26. }
  27. stop_nginx(){
  28. if [ $flag -ne 0 ];then
  29. echo "nginx is already stop"
  30. exit;
  31. else
  32. pkill nginx;
  33. echo "nginx stop success"
  34. exit;
  35. fi
  36. }
  37. restart_nginx(){
  38. if [ $flag -gt 0 ];then
  39. start_nginx;
  40. echo "nginx restart success"
  41. exit;
  42. else
  43. stop_nginx;
  44. start_nginx;
  45. echo "nginx restart success"
  46. exit;
  47. fi
  48. }
  49. if [ $1 == "start" ];then
  50. start_nginx
  51. elif [ $1 == "status" ];then
  52. check_status
  53. elif [ $1 == "stop" ];then
  54. stop_nginx
  55. elif [ $1 == "restart" ];then
  56. restart_nginx
  57. else
  58. echo "UseAge:$0 start|stop|restart|status"
  59. fi
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/383056
推荐阅读
相关标签
  

闽ICP备14008679号