解压、编译、安装
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