原文连接
一. 安装依赖
在linux下安装nginx,首先需要安装 gcc-c++编译器。然后安装nginx依赖的pcre和zlib包。最后安装nginx即可。
1.先安装gcc-c++编译器
sudo yum install -y gcc-c++
sudo yum install -y openssl openssl-devel
2.再安装pcre包
sudo yum install -y pcre pcre-devel
3.再安装zlib包
sudo yum install -y zlib zlib-devel
二、nginx的安装
1.在/usr/local/下创建文件nginx文件
sudo mkdir /usr/local/nginx
2.在网上下nginx包上传至Linux(https://nginx.org/download/),也可以直接下载
wget https://nginx.org/download/nginx-1.19.9.tar.gz
3.解压并进入nginx目录
tar -zxvf nginx-1.19.9.tar.gz
cd nginx-1.19.9
4.nginx配置
默认配置:
./configure
nginx 很多模块都是默认关闭的,如果需要使用需要在这里进行配置,例如 stream 模块
./configure --with-stream
后面可以接多个配置,例如同时开启 stream 和 https:
sudo ./configure --with-stream --with-http_ssl_module
如果已经安装了 nginx,想要是到某些功能是否开启了可以执行以下命令(注意:需要时大写的V):
nginx -V
执行上面命令之后,会出现类似下面的输出:
nginx version: nginx/1.19.9
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)
built with OpenSSL 1.0.2k-fips 26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-stream
configure arguments 后的参数就是配置过的信息。
5.编译安装
sudo make
sudo make install
6.查找安装路径
whereis nginx
7.进入sbin目录,可以看到有一个可执行文件nginx,直接./nginx执行就OK了。
./nginx
9.查看是否启动成功
ps -ef | grep nginx
image
10.然后在网页上访问自己的IP就可以了默认端口为80(出现如下欢迎界面就成功了!)
image三、注意问题
如以上步骤都完成且没有问题的话,就做如下操作
防火墙
#查看防火墙是否开启
systemctl status firewalld
image
启动防火墙后,默认没有开启任何端口,需要手动开启端口。nginx默认是80端口
#手动开启端口命令
firewall-cmd --zone=public --add-port=80/tcp --permanent
#命令含义: --zone #作用域 --add-port=80/tcp #添加端口,格式为:端口/通讯协议 --permanent #永久生效,没有此参数重启后失效
开启后需要重启防火墙才生效
firewall-cmd --reload
查看防火墙是否开启了80端口的访问
firewall-cmd --list-all
image
开启后再次访问!!
端口占用
如果启动后出现了如下的问题就是80端口被占用
image可以用下面这个命令进行查看80端口被谁占用
netstat -tunlp | grep 80
image
这里因为我之前开启了的是被nginx.master或者nginx.woeker占用就不用管,如果不是这个的话那就把那个进程关闭掉
kill -9 进程号
关闭之后重启nginx再次访问!!
nginx 启动、停止、重启命令
- 首先利用配置文件启动nginx。
命令: nginx -c /usr/local/nginx/conf/nginx.conf
重启服务: service nginx restart
- 快速停止或关闭Nginx:nginx -s stop
- 正常停止或关闭Nginx:nginx -s quit
- 配置文件修改重装载命令:nginx -s reload
常见异常
- nginx: [emerg] unexpected "}"
两种可能,一种是 nginx.conf 配置的确实是缺少 “}”;另一种是因为缺少 “;”,nginx.conf 中的配置,“{}”中的每一行都要加 “;”
网友评论