nginx源码包:http://nginx.org/download/
目录
- 1.可联网设备直接通过apt-get安装
- 2.不可联网设备通过安装包编译和移植
- 2.1 首先选择一台可联网的设备
- 2.2 将编译好的文件夹拷贝到目标设备上
- 问题:nginx启动 nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
1.可联网设备直接通过apt-get安装
- 直接通过apt-get安装
# 切换至root用户
sudo su root
apt-get install nginx
- 查看nginx是否安装成功
nginx -v
nginx version: nginx/1.10.3 (Ubuntu)
- 启动nginx
service nginx start
- 启动后,在网页重输入ip地址,即可看到nginx的欢迎页面。至此nginx安装成功
nginx文件安装完成之后的文件位置:
/usr/sbin/nginx:主程序
/etc/nginx:存放配置文件
/usr/share/nginx:存放静态文件
/var/log/nginx:存放日志
2.不可联网设备通过安装包编译和移植
2.1 首先选择一台可联网的设备
- 下载安装包,编译源码
cd /usr/local
wget -c https://nginx.org/download/nginx-1.20.2.tar.gz
tar -zxvf nginx-1.20.2.tar.gz
cd nginx-1.20.2
# 指定安装路径
./configure --prefix=/usr/local/nginx
make
make install
- 测试nginx是否安装成功
# 查询nginx的安装路径
whereis nginx
nginx: /usr/local/nginx
cd /usr/local/nginx/sbin
# 运行nginx
./nginx
# 测试是否安装成功
curl http://localhost
curl 本地IP
# 关闭nginx
# ./nginx -s stop
- 设置nginx自启动
vi 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
- 将 nginx.service 拷贝到 /lib/systemd/system 目录下
- 配置nginx开机自启动
# 使能打开nginx服务
systemctl enable nginx.service
# 查看nginx状态
systemctl status nginx.service
2.2 将编译好的文件夹拷贝到目标设备上
- 压缩编译好了的nginx文件夹,拷贝nginx.zip和nginx.service文件到目标设备指定目录里,并解压nginx.zip
sudo zip -r nginx.zip nginx
unzip -d /usr/local/ nginx.zip
rsync -a nginx.service /lib/systemd/system/
- 设置nginx自启动
systemctl enable nginx.service
- 重启设备后即可查看nginx已启动
# 测试是否安装成功
curl http://localhost
curl 本地IP
问题:nginx启动 nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
# 切换到nginx sbin目录
# 停止
sudo ./nginx -s stop
# 启动
./nginx
参考:
视频教程
https://blog.csdn.net/qq_23832313/article/details/83578836
https://blog.csdn.net/qq_17054659/article/details/77186249