CentOS7源码安装nginx并编写服务脚本
·
准备
下载nginx源码包
- 在源码安装前,我们得先下载
nginx源码包 - https://nginx.org/download/

- 这里我下载的是
nginx-1.23.0.tar.gz版本 - 下载完之后,我们使用
mobaxterm将nginx-1.23.0.tar.gz上传到我们的Linux服务器的/root/目录下
[root@CentOS ~]# ls
anaconda-ks.cfg nginx-1.23.0.tar.gz
关闭防火墙
[root@centos ~]# systemctl disable firewalld
[root@centos ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)
关闭selinux
[root@centos ~]# vim /etc/selinux/config

安装依赖环境
[root@centos ~]# yum install gcc gcc-g++ pcre-devel openssl-devel zlib-devel make -y
解压
- 解压
[root@centos ~]# tar -zxvf nginx-1.23.0.tar.gz
- 改名
[root@centos ~]# ls
anaconda-ks.cfg nginx-1.23.0 nginx-1.23.0.tar.gz
[root@centos ~]# mv nginx-1.23.0 nginx #改名
[root@centos ~]# ls
anaconda-ks.cfg nginx nginx-1.23.0.tar.gz
- 进入
nginx目录
[root@centos ~]# cd nginx
[root@centos nginx]# ls
auto CHANGES CHANGES.ru conf configure contrib html LICENSE man README src
编译
[root@centos nginx]# ./configure

安装
[root@centos nginx]# make && make install
- 默认安装路径在
/usr/local/nginx中 - 切换到
/usr/local/nginx中
[root@centos nginx]# pwd
/root/nginx
[root@centos nginx]# cd /usr/local/nginx/
[root@centos nginx]# pwd
/usr/local/nginx
[root@centos nginx]# ls
conf html logs sbin
测试
[root@centos nginx]# ls
conf html logs sbin
[root@centos nginx]# cd sbin
[root@centos sbin]# ls
nginx
[root@centos sbin]# ./nginx #启动服务

编写服务脚本,通过systemctl实现服务启动与关闭
- 在
Linux系统中,systemd是初始化系统和服务管理器的标准,用于管理系统的启动和运行。systemd的配置文件通常位于/etc/systemd/system/或/usr/lib/systemd/system/目录下,这些文件以.service结尾,定义了服务的启动、运行、停止等行为。 systemd是CentOS系统操作系统开始启用新的系统和服务管理器

[root@centos ~]# vim /usr/lib/systemd/system/nginx.service
[Unit]
Description=ngixn server
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
[Install]
WantedBy=multi-user.target
- 重新加载
[root@centos ~]# systemctl daemon-reload
测试
[root@centos ~]# systemctl start nginx
[root@centos ~]# systemctl status nginx
● nginx.service - ngixn server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
Active: active (running) since 二 2024-07-02 00:21:08 CST; 6s ago
Process: 4209 ExecStart=/usr/local/nginx/sbin/nginx (code=exited, status=0/SUCCESS)
Main PID: 4210 (nginx)
CGroup: /system.slice/nginx.service
├─4210 nginx: master process /usr/local/nginx/sbin/nginx
└─4211 nginx: worker process
7月 02 00:21:08 centos systemd[1]: Starting ngixn server...
7月 02 00:21:08 centos systemd[1]: Started ngixn server.

[root@centos ~]# systemctl stop nginx
[root@centos ~]# ps -ef | grep nginx
root 4222 1412 0 00:22 pts/0 00:00:00 grep --color=auto nginx
[root@centos ~]# systemctl restart nginx
[root@centos ~]# systemctl status nginx
● nginx.service - ngixn server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
Active: active (running) since 二 2024-07-02 00:23:03 CST; 10s ago
Process: 4229 ExecStart=/usr/local/nginx/sbin/nginx (code=exited, status=0/SUCCESS)
Main PID: 4230 (nginx)
CGroup: /system.slice/nginx.service
├─4230 nginx: master process /usr/local/nginx/sbin/nginx
└─4231 nginx: worker process
7月 02 00:23:03 centos systemd[1]: Starting ngixn server...
7月 02 00:23:03 centos systemd[1]: Started ngixn server.
更多推荐


所有评论(0)