书接上文,我们已经安装了PHP,今天我们来讲讲nginx安装吧!
nginx官方推荐使用yum方式进行安装,yum安装方式确实方便,可惜yum源上的nginx可能不是最新版本,如果你想要最新版本,还是需要源码进行安装,今天对这两种安装方式分别进行演示和说明
如果您没有看过我的【php源码安装】的文章,没有安装linux扩展库,请先安装如下扩展库:
#有些Linux扩展默认的镜像源上没有,当时epel上有,所以我们需要安装到epel镜像源
yum install -y epel-release
#安装Linux扩展库
yum install -y gcc gcc-c++ wget autoconf git unzip automake make perl->vim zlib zlib-devel pcre pcre-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers sqlite-devel oniguruma oniguruma-devel libjpeg libjpeg-devel libpng libpng-devel gzip
如果你已经安装部分扩展,重新执行上面的命令即可,yum会自动跳过已安装的扩展库
一:yum安装
1.安装必备组件:
yum install -y yum-utils
如果权限不足,可以使用sudo加权
sudo yum install -y yum-utils
2.设置yum镜像源。创建/etc/yum.repos.d/nginx.repo文件,设置如下内容
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
注意:baseurl中 centos 指的是系统,如果你使用的是 Amazon Linux 请将centos改成 amzn2
3.安装
yum install -y nginx
安装完成后可以使用 nginx -v 检查是否安装成功及安装的版本
yum方式安装默认安装路径为:/etc/nginx 目录下
也可以使用 nginx -t 检查配置文件,从而判断其安装目录
4.启动关闭重载nginx
#查看nginx状态
service nginx status
#启动nginx
service nginx start
#关闭nginx
service nginx stop
# 重载nginx(重新启动nginx)
service nginx reload
#设置开启自启动
systemctl enable nginx
# 如果需要重新加nginx载配置文件
nginx -s reload
# 在重载nginx配置文件时,最好先检查一下配置文件是否有错误
nginx -t [配置文件路径,可以省略]
有人可能直接使用 nginx 回车启动,本人不建议大家使用这种方式启动,不易管理。
5.yum安装的nginx目录结构
#主程序
/usr/sbin/nginx
#安装目录
/etc/nginx
#配置文件
/etc/nginx/nginx.conf
#默认日志文件,可以自己修改nginx配置文件
/var/log/nginx/access.log
二:源码安装
1.下载nginx源码
wget http://nginx.org/download/nginx-1.22.1.tar.gz
2.解压缩
tar -zxvf nginx-1.22.1.tar.gz
3.进入源码目录编译安装
#进入源码目录
cd nginx-1.22.1
#生成编译文件
./configure --prefix=/usr/local/nginx --sbin-path=/usr/local/nginx/sbin/nginx --conf-path=/usr/local/nginx/config/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --modules-path=/usr/local/nginx/modules --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_stub_status_module --with-http_gzip_static_module --with-pcre --with-stream --with-stream_ssl_module --with-stream_realip_module --with-pcre
#编译安装
make && make install
# 测试安装,如果没有错误则是已经安装成功
test -d
关于configure 参数作用及意义,可参考configure参数官网文档
安装完成后创建软链: ln -s /usr/local/nginx/sbin/nginx /usr/sbin/nginx
这样就可以使用nginx了
4.启动关闭重载nginx,但是在使用systemctl启动时可能会报错
这是因为找不到nginx.service文件,在 /usr/lib/systemd/system 目录下新建一个 nginx.service 文件,添加如下内容
[Unit]
Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/nginx.pid
ExecStart=/usr/bin/nginx -c /usr/local/nginx/config/nginx.conf
ExecReload=/usr/bin/nginx -s reload
ExecStop=/usr/bin/nginx -s stop
[Install]
WantedBy=multi-user.target
使用 systemctl daemon-reload 命令使其生效,现在可以使用service启动nginx了