前言
1、安装nginx之前,在内网环境下需要先进行配置本地yum源。
2、本文使用的操作系统:银河麒麟V10 飞腾版
3、查看操作系统CPU型号
[root@localhost /]# lscpu
4、查看操作系统信息
cat /etc/*release
5、安装的版本:nginx-1.16.1.tar.gz
一、 获取源代码
软件获取路径:http://nginx.org/download/
nginx官网:http://nginx.org/
二、 编译环境配置
执行如下命令,安装依赖包。
yum install gcc gcc-c++ make unzip pcre pcre-devel zlib zlib-devel libxml2 libxml2-devel readline readline-devel ncurses ncurses-devel perl-devel perl-ExtUtils-Embed openssl-devel -y
三、编译源代码
1) 执行以下命令,获取安装包。
wget -c http://nginx.org/download/nginx-1.16.1.tar.gz
2) 执行以下命令,解压安装包。
tar -zxvf nginx-1.16.1.tar.gz
3) 执行以下命令,进入安装目录。
cd nginx-1.16.1
4) 执行以下命令,编译安装nginx。
./configure
make -j4 && make install
四、 测试已完成编译的软件
1) 新增nginx用户
useradd nginx
2) 执行以下命令,给nginx用户开启nginx安装目录权限。
chown nginx:nginx /usr/local/nginx
3) 执行如下命令,查看nginx版本。
cd /usr/local/nginx/sbin/
./nginx -v
4)启动nginx
cd /usr/local/nginx/sbin/
./nginx
5)查看是否启动成功
ps -ef | grep nginx
最后在网页上访问自己的IP就可以了默认端口为80(出现如下欢迎界面就成功了!)
五、设置nginx开机自启动
第一步:进入到/lib/systemd/system/目录
[root@localhost ~]# cd /lib/systemd/system/
第二步:创建nginx.service文件,并编辑
# vim nginx.service
内容如下:
[Unit]
Description=nginx service
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
[Unit]:服务的说明
Description:描述服务
After:描述服务类别
[Service]服务运行参数的设置
Type=forking是后台运行的形式
ExecStart为服务的具体运行命令
ExecReload为重启命令
ExecStop为停止命令
PrivateTmp=True表示给服务分配独立的临时空间
注意:[Service]的启动、重启、停止命令全部要求使用绝对路径
[Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3
保存退出。
第三步:加入开机自启动
# systemctl enable nginx
如果不想开机自启动了,可以使用下面的命令取消开机自启动
# systemctl disable nginx
第四步:服务的启动/停止/刷新配置文件/查看状态
# systemctl start nginx.service 启动nginx服务
# systemctl stop nginx.service 停止服务
# systemctl restart nginx.service 重新启动服务
# systemctl list-units --type=service 查看所有已启动的服务
# systemctl status nginx.service 查看服务当前状态
# systemctl enable nginx.service 设置开机自启动
# systemctl disable nginx.service 停止开机自启动
一个常见的错误
Warning: nginx.service changed on disk. Run 'systemctl daemon-reload' to reload units.
直接按照提示执行命令systemctl daemon-reload 即可。
# systemctl daemon-reload
所有评论(0)