CentOS7 源码安装 nginx
2019-01-28 本文已影响0人
我_bacd
~~ !!! 预装软件:安装nginx前需要安装的软件
yum -y install gcc-c++ zlib zlib-devel openssl openssl-devel pcre pcre-devel
~~ !!!下面开始安装nginx
1、选择nginx版本,http://nginx.org/en/download.html,官网提供三种类型版本:
● Mainline version - 主力开发版,可以直接理解为开发版
● Stable version - 最新稳定版,建议在生产环境使用版
● Legacy versions - 旧的稳定版
此处选择 Stable version 下的 nginx-1.14.2 pgp,右键复制链接地址
2、下载安装包,注意下面命令的大小写
// 下载nginx安装包
wget http://nginx.org/download/nginx-1.14.2.tar.gz -P /usr/local
如果提示 wget: command not found,先使用下面的命令安装 wget,再进行下载
// 安装 wget
yum -y install wget
进入刚才下载时设置的安装目录:/usr/local ,查看安装包
// 进入刚才下载时设置的目录
cd /usr/local
// 查看是否有安装包
ls
列表显示如下图,存在nginx-1.14.2.tar.gz
3、解压安装包,并进入解压后的文件夹
// 解压安装包
tar -zxvf nginx-1.14.2.tar.gz
// 进入解压后的文件夹
cd nginx-1.14.2
4、开始安装(请牢记安装命令三部曲: configure、 make、 make install)
./configure --prefix=/usr/local/nginx
make
make install
5、进入安装好的文件夹,并启动nginx
// 进入安装好的文件夹
cs /usr/local/nginx
// 启动nginx
sbin/nginx 或者 /usr/local/nginx/sbin/nginx
6、访问域名或ip路径,如果出现下图显示内容,则表明nginx安装成功
~~ !!!下面是拓展内容
7、配置nginx环境变量(想在任何位置随意使用nginx命令?)
vi /etc/profile
// 添加三行代码(如下图),保存并退出编辑
nginx=/usr/local/nginx/sbin
PATH=$PATH:$nginx
export PATH
// 保存退出后,执行此命令
source /etc/profile
8、想使用 systemctl 来控制 nginx?也简单:
// 增加一个 nginx 的 service
vi /lib/systemd/system/nginx.service
// 写入下面内容,保存并退出编辑。如下图:
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
完成之后,就可以使用 systemctl 相关命令来控制 nginx
// 启动 nginx
systemctl start nginx.service
// 停止 nginx
systemctl stop nginx.service
// 重启 nginx
systemctl restart nginx.service
// 设置开机自启动
systemctl enable nginx.service
// 停止开机自启动
systemctl disable nginx.service
// 查看当前服务状态
systemctl status nginx.service
~~ !!!附赠:nginx常用的三个命令
// 启动 nginx
nginx
// 相对优雅的重启 nginx
nginx -s reload
// 暴力退出 nginx
nginx -s quit
~~ !!!友情提示:如果确认安装好了nginx,但无法访问,请关闭防火墙再试试
// 关闭防火墙命令
systemctl stop firewalld.service
// 禁止防火墙开机启动
systemctl disable firewalld.service
// 启动防火墙
systemctl start firewalld.service
// 防火墙开机自启动
systemctl enable firewalld.service