Linux安装web服务器图文教程之Nginx

一、源码安装

1、首先去Nginx官网下载Linux版的Nginx。

在这里插入图片描述

2、下载完成后上传源码文件到服务器。
在这里插入图片描述
3、解压文件

tar zxvf nginx-1.20.2.tar.gz

4、进入安装包

cd nginx-1.20.2

5、安装依赖

yum -y install make zlib zlib-devel gcc gcc-c++ libtool  openssl openssl-devel pcre-devel

6、编译安装

./configure --prefix=/usr/local/webserver/nginx --user=www --group=www --with-http_ssl_module 
make
make install

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

[root@CentOS7 nginx-1.20.2]# echo $?
0

7、启动nginx服务

[root@CentOS7 nginx-1.20.2]# cd /usr/local/webserver/nginx/sbin		//进入安装目录
[root@CentOS7 sbin]# ls
nginx
[root@CentOS7 sbin]# useradd www	//添加用户www
[root@CentOS7 sbin]# ./nginx 		//启动Nginx服务
[root@CentOS7 sbin]# ps aux | grep nginx	//查看nginx服务是否启动成功
root       6923  0.0  0.0  45992  1132 ?        Ss   15:21   0:00 nginx: master process ./nginx
www        6924  0.0  0.0  46440  1876 ?        S    15:21   0:00 nginx: worker process
root       6926  0.0  0.0 112824   988 pts/0    S+   15:21   0:00 grep --color=auto nginx

在这里插入图片描述
8、防火墙端口配置

Nginx访问需要用到80和443端口,如果防火墙关闭,就直接可以访问了,如果防火墙开启状态,就需要放开这两个端口。

[root@CentOS7 ~]# systemctl status firewalld	//查看防火墙状态
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since 一 2024-05-13 13:56:09 CST; 1h 36min ago
     Docs: man:firewalld(1)
 Main PID: 744 (firewalld)
   CGroup: /system.slice/firewalld.service
           └─744 /usr/bin/python2 -Es /usr/sbin/firewalld --nofork --nopid

513 13:56:06 CentOS7 systemd[1]: Starting firewalld - dynamic firewall daemon...
513 13:56:09 CentOS7 systemd[1]: Started firewalld - dynamic firewall daemon.
513 13:56:09 CentOS7 firewalld[744]: WARNING: AllowZoneDrifting is enabled. This is considered an i...now.
Hint: Some lines were ellipsized, use -l to show in full.
[root@CentOS7 ~]# firewall-cmd --add-port=80/tcp --permanent	//放开80端口
success
[root@CentOS7 ~]# firewall-cmd --add-port=443/tcp --permanent	//放开443端口
success
[root@CentOS7 ~]# firewall-cmd --add-port=8080/tcp --permanent	//放开8080端口
success
[root@CentOS7 ~]# firewall-cmd --reload		//重新加载防火墙配置
success
[root@CentOS7 ~]# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens33 ens37
  sources: 
  services: dhcpv6-client ssh
  ports: 80/tcp 443/tcp 8080/tcp
  protocols: 
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 

9、测试

从浏览器访问我们配置的站点ip+端口号(默认端口号可以省略),出现如图所示界面就配置成功了。

在这里插入图片描述
10、Nginx 其他命令

以下包含了 Nginx 常用的几个命令:

启动服务:./nginx
退出服务:./nginx -s quit
强制关闭服务:./nginx -s stop
重载服务:./nginx -s reload  (重载服务配置文件,类似于重启,但服务不会中止)
验证配置文件:./nginx -t
使用配置文件:./nginx -c "配置文件路径"
使用帮助:./nginx -h

11、编写systemd单元文件管理nginx服务

通常在/usr/lib/systemd/system或/etc/systemd/system/目录下创建nginx.service文本文件

11.1)停掉nginx

[root@CentOS7 ~]# cd /usr/local/webserver/nginx/sbin/
[root@CentOS7 sbin]# ./nginx -s quit

11.2)创建nginx.service文件

[root@CentOS7 ~]# vi /etc/systemd/system/nginx.service

添加以下内容:

[Unit]  
Description=The NGINX HTTP and reverse proxy server  
After=network.target remote-fs.target nss-lookup.target  

[Service]  
Type=forking  
PIDFile=/usr/local/webserver/nginx/logs/nginx.pid  		//注意改成自己的安装路径
ExecStartPre=/usr/local/webserver/nginx/sbin/nginx -t -c /usr/local/webserver/nginx/conf/nginx.conf  	
ExecStart=/usr/local/webserver/nginx/sbin/nginx -c /usr/local/webserver/nginx/conf/nginx.conf  	
ExecReload=/bin/kill -s HUP $MAINPID  
ExecStop=/bin/kill -s QUIT $MAINPID  
PrivateTmp=true  

[Install]  
WantedBy=multi-user.target

要让systemd重新识别此单元文件,执行

systemctl daemon-reload

启动nginx

systemctl start nginx

开机自启动

systemctl enable nginx

配置开机自启动前
在这里插入图片描述
配置开机自启动后
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值