1. 下载nginx-1.24.0,并上传到ubuntu下的源码存放目录/usr/local/src
/usr/local/src/nginx-1.24.0/
2. 安装到指定目录
configure脚本文件,用于配置编译选项。
安装目录为:/usr/local/workspace/,配置编码选项,安装到指定目录:
sudo ./configure --prefix=/usr/local/workspace/nginx
需要加sudo,否则会有目录不能创建。
3. 执行安装时,常见问题处理
注意:安装过程,如果不用root账号,一定要加sudo,否则某些目录可以无法创建。
2.1 ./configure: error: C complier cc is not found
sudo apt install gcc
2.2 ./configure: error: the HTTP rewrite module requires the PCRE library. ——用于正则表达式的库
sudo apt install libpcre3 libpcre3-dev
2.3 ./configure: error: the HTTP gzip module requires the zlib library.
sudo apt intall zlib1g-dev
3. 执行编译安装
make && make install
sudo apt install make
4. 将nginx添加到命令行()
源码安装,不会自动添加到命令行工具/usr/bin,未添加,查不到版本信息,只能在安装目录下查到。
/usr/local/workspace/nginx/sbin/nginx -v
软链接到/usr/bin(系统终端命令行工具的启动目录)
sudo ln -s /usr/local/workspace/nginx/sbin/nginx /usr/bin
添加之后,可以执行以下命令:
sudo nginx start
sudo nginx -s stop | reload | stop | reload(no start) (-s is signal)
或者:
sudo kill pid kill master 主进程(关闭的第二种方式)
nginx -V 可以查询nginx configure arguments,比如(以下3项的路径有误,请以你自己命令行返回的为准):
--conf-path=/etc/nginx/nginx.conf
--http-log-path=/var/log/nginx/access.log
--error-log-path=/var/log/nginx/error.log
5. 查看nginx运行状态
ps -aux | grep nginx
ps -ef | grep nginx
6. systemd命令行管理工具(系统初始化和服务管理器)
创建*.service之后,就可以直接在终端命令行,控制nginx的状态。
systemctl stop | start | restart | status nginx
自启动的优先级:
/etc/systemd/system/*.service > /usr/lib/systemd/system/*.service
# nginx.service
[Unit]
Description=Nginx_Web_Server
After=network.target
# 网络启动后,启动service
[Service]
Type=forking
# 以子进程的方式启动
ExecStart=/usr/bin/nginx
# ln -s from to
# ExecStart=/usr/local/workspace/nginx/sbin/nginx
ExecReload=/usr/bin/nginx -s reload
ExecStop=/usr/bin/nginx -s stop
[Install]
WantedBy=multi-user.target
# 多用户使用模式
7. 自启动状态查看和设置
7.1 查看启动服务项的状态
systemctl is-enabled nginx
7.2 系统开机自启 | 停止服务器的状态切换
sudo systemctl enable nginx
Tip: Created symlink /etc/systemd/system/multi-user.target.wants/nginx.service → /lib/systemd/system/nginx.service.
sudo systemctl disable nginx
Tip: Removed /etc/systemd/system/multi-user.target.wants/nginx.service.
Ref: 23.ubuntu编译安装nginx,乌班图零基础视频教程,linux运维入门课程【邓瑞编程】_哔哩哔哩_bilibili