一、从官网nginx.org下载Nginx:
说明:
1)因为这是一个stable稳定版本。
2)Mainline version: 开发版;Stable version: 稳定版;Legacy versions: 早期版本;
3)我们肯定是要找最新的稳定版本。
二、上传到Linux中:
不需要使用上传的方法,可以通过先复制链接地址,然后通过wget命令进行下载:
cd /usr/local/src wget http://nginx.org/download/nginx-1.24.0.tar.gz
注意下/usr/local/src这个目录。
三、解压文件:
tar -zxvf nginx-1.22.1.tar.gz
四、编译安装Nginx:
因为是编译安装,所以需要安装编译器:
yum install -y gcc gcc-c++
1)安装Nginx的依赖包:
yum install -y pcre-devel openssl-devel
说明:pcre-devel 是为nginx模块,如rewrite提供正则表达式;
zlib-devel为Nginx模块如gzip提供数据压缩用的函数库;
openssl-devel:为Nginx模块如ssl提供密码算法,证书以及ssl协议等功能。
2)Nginx的编译安装:
添加www用户:
useradd -s /sbin/nologin -M www
./configure --prefix=/usr/local/nginx --with-http_ssl_module
./configure --prefix=/usr/local/nginx-1.24.0 --user=www --group=www --with-http_ssl_module --with-http_stub_status_module
说明:这个configure,我们添加了www用户,然后我们还增加了nginx状态的模块。监控的时候就能使用到。
说明:
./configure用于对即将安装的软件进行配置,检查当前环境是否满足安装软件的依赖关系。
configure是一个Shell脚本,执行它的作用是生成makefile文件。
[root@vm1 nginx-1.24.0]# file configure configure: POSIX shell script, ASCII text executable [root@vm1 nginx-1.24.0]#
--prefix是用于设置安装目录;
--with-http_ssl_module选项用于设置在Nginx中允许使用http_ssl_module模块的相关功能。
在目录中多了Makefile文件,这个文件会告诉我们怎么来编译nginx。
3)通过make命令编译安装nginx:
make && make install
make是编译,makeinstall是把生成的文件拷贝到指定的目录。
五、Nginx的启动与停止:
启动之前,我们一定要检测下配置文件是否正确。这是一个自己的习惯。
/usr/local/nginx/sbin/nginx -t
1)启动nginx:
/usr/local/nginx/sbin/nginx
启动命令:
cd /usr/local/nginx/sbin ./nginx
然后,我们可以看到有两个进程,一个是master进程,一个是worker进程。
打开的端口是80端口。
2)停止Nginx服务:
1)立即停止服务:
./nginx -s stop
2)也可以使用从容停止服务:
./nginx -s quit
3)通过kill 或者killall杀死进程:
kill Nginx主进程ID killall nginx
说明:如果killall没有这个命令,可以使用yum install -y psmisc进行安装。
另外有几个命令也需要记住:
./nginx -s reload ./nginx -s reopen ./nginx -v ./nginx -t
说明:
1)reload是重新加载配置文件;
2)reopen是重新打开配置文件;
3)-v是显示版本信息;
4)-t是检查当前配置文件是否正确;
另外一些配置:
1)添加到环境变量:
echo $PATH ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/nginx
说明:ln -s的第一个参数是源文件路径,第二个参数目标文件路径;
2)添加到系统服务:
vim /usr/lib/systemd/system/nginx.service
[Unit] Description=nginx web service Documentation=http://nginx.org/en/docs/ After=network.target [Service] Type=forking PIDFile=/usr/local/nginx/logs/nginx.pid ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf ExecStart=/usr/local/nginx/sbin/nginx ExecReload=/usr/local/nginx/sbin/nginx -s reload ExecStop=/usr/local/nginx/sbin/nginx -s stop PrivateTmp=true [Install] WantedBy=default.target
chmod 755 /usr/lib/systemd/system/nginx.service
启动: systemctl start nginx 停止: systemctl stop nginx 重启: systemctl restart nginx 重新加载配置文件: systemctl reload nginx 查看nginx状态: systemctl status nginx 开机启动: systemctl enable nginx
在这个过程中遇到一个问题。后来是将服务器重新启动,问题得到了解决。
然后我们通过curl命令查看nginx的状态:
说明: