一步一步安装配置Nginx(基于CentOS7,图文)
- 安装pcre库,然后再安装Nginx
yum install pcre-devel pcre -y - 在浏览器当中打开nginx官网,找到它的最新稳定版本后点击复制链接
- 通过wget命令在线安装nginx
wget http://nginx.org/download/nginx-1.16.0.tar.gz
如果此时提示wget没有安装则需要安装wget命令。
yum install wget
此时再通过wget命令安装nginx就可以了 - 通过tar命令解压缩
tar -xvf nginx-1.16.0.tar.gz - 解压后进入nginx目录可以查看到如下内容
- 通过./configure --help可以查看该命令的很多参数信息
--prefix=PATH是编译路径
--sbin-path=PATH表示二进制命令存放在哪个目录
--modules-path=PATH 模块路径
--conf-path=PATH 配置文件存放路径
...... - 安装gcc-c++包
yum -y install gcc-c++
-y表示所有询问均选择yes - 指定用户和组为www预编译nginx,它会自动创建www用户和用户组,然后预编译nginx
useradd www ;./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module - 执行make && make install编译安装,但是却报“make: *** No rule to make target `build', needed by `default'. Stop.”错误,解决方法如下:
a、更新yum, yum update
b、将之前准备make的nginx目录删掉,重新解压缩一份
c、安装前置库:yum install -y gcc pcre pcre-devel openssl openssl-devel gd gd-devel
d、进入nginx目录重新编译一次参数./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
e、再次执行make && make install成功 - nginx默认安装在/usr/local/nginx目录下,进入该目录可以看到如下信息
- 进入sbin目录执行./nginx -t 检查配置文件是否有问题,如果没问题则出现如下提示信息。
- 启动nginx服务
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf - 使用netstat -ntpl|grep 80|grep nginx命令检查nginx是否已经启动,提示如下信息表示已经启动
如果提示没有安装netstat命令可以执行yum -y install net-tools进行安装 - 使用ps命令查看nginx进程 ps -ef | grep nginx
- 在浏览器当中查看nginx是否已经启动,如看到如下页面则表示nginx已经可以在客户端访问
- 如果不能访问一般情况下是Linux防火墙功能没有被关闭,解决方案如下。
使用vi /etc/selinux/config修改/etc/selinux/config文件,将SELINUX=enforcing改为SELINUX=disabled
停止firewall(防火墙) systemctl stop firewalld.service
禁止防火墙开机启动 systemctl disable firewalld.service
更改SSH端口为10086(换端口号的目的是为了安全,因为之前已经把防火墙关闭了。)
vi /etc/ssh/sshd_config
Port 10086(在编辑的过程当中出现了错误,上网查了一下vi编辑器在一般模式下按下字母u就可以进行撤销)
改完端口号之后直接reboot
(vi小技巧:在一般模式下,输入/后再输入要查找的字符串,然后按下n键即可查找,大小写n可以按照不同方向查找,若要撤销则在一般模式下按下字母u)
重启ss服务
systemctl restart sshd.service - 停止nginx服务
从容停止
a、查看进程号 ps -ef|grep nginx
b、杀死进程 kill -QUIT 6800
快速停止
a、查看进程号
b、杀死进程 kill -TERM 6800 或 kill -INT 6800
强行停止: pkill -9 nginx - 重启nginx ./nginx -s reload该命令是对nginx进行平滑重启,它不会中断一些已经建立连接的请求。一般修改完配置文件后就要重启nginx服务,但是在重启之前最好要先使用./nginx -t命令检查配置文件的正确性。出现了successful提示后表示配置文件正确,然后再重启。