ubuntu16.04源码编译安装nginx1.16.2

解压、编译、安装

1、安装nginx之前在linux系统上确保安装以下软件和第三方库.

sudo apt-get update    升级所有包,改变软件设置和系统设置,系统版本内核都升级
sudo apt-get  upgrade - 升级所有包,不改变软件设置和系统设置,系统版本升级,内核不改变
sudo apt-get install libpcre3 libpcre3-dev zlib1g-dev build-essential gcc

2、编译和安装nginx服务器
解压nginx-1.16.2.tar.gz

# cd /usr/local/src/
#tar -zxvf  nginx-1.16.2.tar.gz
#cd nginx-1.6.2
#ls -l

安装好之后继续执行

#./configure --prefix=/usr/local/nginx
#make && make install 
configure 参数:
可以通过 ./configure --help 命令查看;

–prefix=path
设置安装目录,默认为/usr/local/nginx

–sbin-path=path
设置nginx可执行文件的路径和名称,默认–prefix/sbin/nginx,一般采用默认(如:–sbin-path=/home/nginx1)

–conf-path
设置nginx.conf配件文件的路径,类似–sbin-path参数,默认指定–prefix/conf/nginx.conf(/home/nginx/nginx1.conf)。nginx启动时可以通过-c参数指定配件文件。

–pid-path=path
设置存储主进程id的文件名称,默认为–prefix/logs/nginx.pid,安装完成以后,该名称也可以通过pid指令在nginx.conf配件文件中更改。

–error-log-path=path
设置主请求的错误、警告、诊断的日志文件的名称,默认为–prefix/logs/access.log,安装完成后也可以在nginx.conf配件总指定error_log指令来修改。

–http-log-path=path
设置HTTP服务器的主请求的日志文件的名称,默认为–prefix/logs/access.log。该名称也可以在nginx.conf配置文件中通过access_log指令更改。

–user=name
设置工作进程使用的非特权用户的用户名,默认为nobody。安装完成后可以在nginx.conf中通过user指令修改。

–group=name
设置工作进程使用的非特权用户组的名称,默认组名和–user的名称一致。安装完成后可以在nginx.conf配置文件中通过user指令指定。

–with-select-module、–without-select-module
启用或者禁用一个模块

–without-http_gzip_module
禁用构建gzip压缩模块。构建和运行该模块需要zlib库。

–without-http_rewrite_module
禁止构建允许HTTP服务器重定向和变更请求URI的模块。构建和运行该模块需要PCRE库。

–without-http_proxy_module
禁用HTTP服务器代理模块

–with-http_ssl_module
启用添加HTTPS协议支持到HTTP服务器的模块,该模块默认不启用。构建和运行该模块需要OpenSSL库。

–with-pcre=path
设置PCRE库的路径,该库需要从PCRE网站下载。location指令的正则表达支持需要该库。

–with-zlib=path

设置zlib库的路径,ngx_http_gzip_module模块需要该库。

在这里插入图片描述

添加为系统服务

1、创建服务文件

ubuntu@ubuntu:~/work$ sudo vim /lib/systemd/system/nginx.service
[Unit]
Description=nginx - high performance web server
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
[Install]
WantedBy=multi-user.target
// 说明
[Unit]		// 服务的说明
Description	// 描述服务
After		// 依赖,当依赖的服务启动之后再启动自定义的服务
 
[Service]		// 服务运行参数的设置
Type=forking	// 后台运行的形式
ExecStart		// 服务的具体运行命令(需要根据路径适配)
ExecReload		// 重启命令(需要根据路径适配)
ExecStop		// 停止命令(需要根据路径适配)
PrivateTmp=True	// 表示给服务分配独立的临时空间
// 注意:启动、重启、停止命令全部要求使用绝对路径

[Install]	// 服务安装的相关设置,可设置为多用户

设置开机自启动

// 设置开机启动
ubuntu@ubuntu:~/work$ sudo systemctl enable nginx.service

// 停止开机启动
ubuntu@ubuntu:~/work$ sudo systemctl disable nginx.service

服务命令

// 开启 nginx 服务
ubuntu@ubuntu:~/work$ sudo systemctl start nginx.service

// 查看状态
ubuntu@ubuntu:~/work$ sudo systemctl status nginx.service

// 重启服务
ubuntu@ubuntu:~/work$ sudo systemctl restart nginx.service
重启nginx服务:sudo /usr/local/nginx/sbin/nginx
#重启Nginx
root@ubuntu:/usr/local/nginx# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
重启Nginx
root@ubuntu:# cd /usr/local/nginx/sbin
root@ubuntu:/usr/local/nginx/sbin# ./nginx

// 查看所有服务
ubuntu@ubuntu:~/work$ sudo systemctl list-units --type=service

查看服务

查看服务是否安装成功,在浏览器里输入IP地址
在这里插入图片描述
在这里插入图片描述

查看端口
在这里插入图片描述
查看安装的版本
在这里插入图片描述
查看进程是否存在
在这里插入图片描述
在这里插入图片描述
测试nginx
#vi /usr/local/nginx/conf/nginx.conf #更改80端口
#sudo /usr/local/nginx/sbin/nginx #启动服务
#curl localhost
在这里插入图片描述

常见问题
1、查看进程号
cd /usr/local/nginx/sbin
./nginx
nginx服务启动后默认的进程号会放在/usr/local/nginx/logs/nginx.pid文件
cat nginx.pid 查看进程号

2、./nginx -v 显示nginx的版本号
./nginx -V 显示nginx的版本号和编译信息
./nginx -t 检查nginx配置文件的正确性
./nginx -t 检查nginx配置文件的正确定及配置文件的详细配置内容
./nginx -s 向主进程发送信号,如:./nginx -s reload 配置文件变化后重新加载配置文件并重启nginx服务
./nginx -p 设置nginx的安装路径
./nginx -c 设置nginx配置文件的路径
显示nginx的版本号
root@ubuntu:/usr/local/src/nginx-1.6.2# sudo /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.6.2
built by gcc 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.11)
configure arguments: --prefix=/usr/local/nginx

3、修改Nginx端口
root@ubuntu:/usr/local/nginx/sbin# find / -name nginx.conf
/usr/local/nginx/conf/nginx.conf
/usr/local/src/nginx-1.6.2/conf/nginx.conf

4、nginx日志
root@ubuntu:/usr/local/src/nginx-1.6.2# find / -name error.log
/var/log/apache2/error.log
/usr/local/nginx/logs/error.log

root@ubuntu:/usr/local/nginx/logs# ls
access.log error.log
日志分别是access.log和error.log

参考链接 :
https://www.cnblogs.com/xwgcxk/p/10973645.html
Nginx+PHP7源码安装配置 :https://www.yiibai.com/nginx/nginx-php7-source-config.html

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

寰宇001

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值