源码编译安装部署Web服务器—nginx

源码编译部署Web服务器nginx

  1. nginx官网:http://nginx.org
  2. nginx提供的Web服务名称是:nginx
  3. nginx默认安装时的安装路径是:/usr/share/nginx
  4. nginx默认安装时的主配置文件是:/etc/nginx/nginx.conf
  5. nginx默认安装时站点所在的根目录是:/usr/share/nginx/html/

Step 1:查看/etc/passwd中有无nginx用户

  1. [root@zlb100 ~]# cat   /etc/passwd
  2. [root@zlb100 ~]# cat   /etc/group

Step 2:创建nginx账户,用于运行nginx服务进程,降低nginx服务进程的操作权限(默认nginx服务进程的用户是:root)

  1. [root@zlb100 ~]# useradd   nginx    -s   /sbin/nologin   -M      # -M表示不创建家目录
  2. [root@zlb100 ~]# cat   /etc/passwd    |  grep   nginx
  3. [root@zlb100 ~]# cat   /etc/group    |  grep   nginx
  4. [root@zlb100 ~]# ls   /home

Step 3:查看并关闭Apache的httpd服务器

  1. [root@zlb100 ~]# systemctl  status  httpd
  2. [root@zlb100 ~]# systemctl  stop  httpd

Step 4:需要安装依赖软件

  1. [root@zlb100 ~]# yum  install  gcc  make  zlib-devel  pcre  pcre-devel  openssl-devel  -y

Step 5:创建nginx软件包的下载目录

  1. [root@zlb100 ~]# mkdir  download
  2. [root@zlb100 ~]# cd download

Step 6:下载nginx软件包

  1. [root@zlb100 download]# wget   http://nginx.org/download/nginx-1.24.0.tar.gz
  2. [root@zlb100 download]# curl   -I  http://nginx.org         # 查看nginx官网首页的响应头信息

Step 7:对下载的软件包进行解包解压缩

  1. [root@zlb100 download]# tar  -xzvf  nginx-1.24.0.tar.gz

Step 8:切换到解压缩后的nginx目录中

  1. [root@zlb100 download]# cd nginx-1.24.0/

Step 9:开始安装

        1. [root@zlb100 nginx-1.24.0]# ./configure   --user=nginx  --group=nginx  --prefix=/usr/local/nginx  
        # 使用--prefix参数人为的指定源码编译后的安装路径

        # configure环境检查后会自动生成Makefile文件,然后才可以make编译

        2. [root@zlb100 nginx-1.24.0]# make                  # 编译(把源代码文件编译成可执行的二进制文件),是自动按Makefile文件进行编译的

        3. [root@zlb100 nginx-1.24.0]# make  install        # 安装

        # 以上编译和安装的2行指令可以简写为一行:make && make install

Step 10:查看安装目录

  1. [root@zlb100 nginx-1.24.0]# whereis nginx
  2. [root@zlb100 nginx-1.24.0]# ls  /usr/local/nginx/   # 查看用户指定安装路径下的文件(其中:配置文件所在的目录是conf,站点所在的目录是html,可执行服务的目录是sbin)
  3. [root@zlb100 nginx-1.24.0]# cd  /usr/local/nginx
  4. [root@zlb100 nginx]# cd sbin
  5. [root@zlb100 nginx]# firewall-cmd  --list-ports       # 要确保防火墙已经打开80号端口

Step 11:启动nginx服务

  1. [root@zlb100 sbin]# ./nginx                                        # 启动nginx服务
    • ./nginx  -s  stop:在nginx已经启动的前提下,强制退出nginx服务的指令
    • ./nginx  -s  quit:在nginx已经启动的前提下,安全退出nginx服务的命令
    • ./nginx  -s  reload:在nginx已经启动的前提下,重新加载nginx服务
    • 自定义路径安装的前提下:nginx的安装路径是:/usr/local/nginx
    • 自定义路径安装的前提下:nginx的主配置文件是:/usr/local/nginx/conf/nginx.conf
    • 自定义路径安装的前提下:nginx站点所在的根目录是:/usr/local/nginx/html/
  2. [root@zlb100 sbin]# ps -ef | grep nginx                    # 查看nginx服务是否启动
  3. [root@zlb100 sbin]# netstat  -antp  | grep nginx  # 查看nginx服务正在监听80号端口
  4. nginx服务器的测试:在物理主机浏览器的地址栏中输入Linux服务器IP地址并回车查看nginx欢迎界面(在云服务器和虚拟机中,都需要先将防火墙中的80端口开放后再进行试验)

Step 12:在物理主机的浏览器中测试nginx服务(http://192.168.114.100)

Step 13:将源码编译安装的nginx服务设置为可以使用systemctl命令管理的步骤:

  1. 首先使用kill命令杀死启动的nginx服务进程
    • ps  -ef  |  grep  nginx         # 查询nginx服务的进程号
    • kill  -9   5588                    # 假设5588是master的进程号
    • kill  -9  10408                   # 假设10408是worker的进程号
  2. 在/usr/lib/systemd/system目录下新建文件“nginx.service”
  • vim  /usr/lib/systemd/system/nginx.service
  • 在文件中输入如下绿色文字内容:

[Unit]

Description=The NGINX HTTP and reverse proxy server

Documentation=http://nginx.org/en/docs/

After=syslog.target network.target remote-fs.target nss-lookup.target

 

[Service]

Type=forking

PIDFile=/usr/local/nginx/logs/nginx.pid 

ExecStartPre=/usr/local/nginx/sbin/nginx -t

ExecStart=/usr/local/nginx/sbin/nginx

ExecReload=/usr/local/nginx/sbin/nginx -s reload

ExecStop=/usr/bin/kill -s QUIT $MAINPID

PrivateTmp=true

 

[Install]

WantedBy=multi-user.target

  • 使用systemctl status nginx命令查看nginx服务状态
  • 使用systemctl start nginx命令启动nginx服务
  • 使用systemctl enable nginx命令设置nginx服务开机自启动
  • 使用systemctl status nginx命令查看nginx服务状态
  • 使用systemctl stop nginx命令关闭nginx服务
  • 使用systemctl status nginx命令查看nginx服务状态

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值