Linux安装nginx详细步骤

Linux 版本:CentOS 7.6 64位
Nginx版本:1.13.7
下载地址:http://nginx.org/download/nginx-1.13.7.tar.gz
在安装nginx前首先要确认系统中安装了 gcc、pcre-devel、zlib-devel、openssl-devel。
由于我这是刚在阿里云新买的服务器,所以什么都没有安装,下面开始安装:

1.安装依赖包

1. //一键安装上面四个依赖
2. yum -y install gcc pcre-devel zlib-devel openssl openssl-devel

2.下载并解压安装包

//创建一个文件夹
cd /usr/develop
mkdir nginx
cd nginx
//下载tar包
wget http://nginx.org/download/nginx-1.13.7.tar.gz
//解压安装包
tar -zxvf nginx-1.13.7.tar.gz
解压完成之后,进入解压目录里,我的解压位置 /usr/develop/nginx/nginx-1.9.9

3.安装nginx

//进入nginx目录
cd /usr/develop/nginx
//执行命令
./configure --prefix=/usr/develop/nginx

nginx编译选项
make是用来编译的,它从Makefile中读取指令,然后编译。
make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置。
configure命令是用来检测你的安装平台的目标特征的。它定义了系统的各个方面,包括nginx的被允许使用的连接处理的方法,比如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本,执行结束时,它会创建一个Makefile文件。nginx的configure命令支持以下参数:
–prefix=path 定义一个目录,存放服务器上的文件 ,也就是nginx的安装目录。默认使用 /usr/local/nginx。
–sbin-path=path 设置nginx的可执行文件的路径,默认为 prefix/sbin/nginx.
–conf-path=path 设置在nginx.conf配置文件的路径。nginx允许使用不同的配置文件启动,通过命令行中的-c选项。默认为prefix/conf/nginx.conf.
–pid-path=path 设置nginx.pid文件,将存储的主进程的进程号。安装完成后,可以随时改变的文件名 , 在nginx.conf配置文件中使用 PID指令。默认情况下,文件名 为prefix/logs/nginx.pid.
–error-log-path=path 设置主错误,警告,和诊断文件的名称。安装完成后,可以随时改变的文件名 ,在nginx.conf配置文件中 使用 的error_log指令。默认情况下,文件名 为prefix/logs/error.log.
–http-log-path=path 设置主请求的HTTP服务器的日志文件的名称。安装完成后,可以随时改变的文件名 ,在nginx.conf配置文件中 使用 的access_log指令。默认情况下,文件名 为prefix/logs/access.log.
–user=name 设置nginx工作进程的用户。安装完成后,可以随时更改的名称在nginx.conf配置文件中 使用的 user指令。默认的用户名是nobody。
–group=name 设置nginx工作进程的用户组。安装完成后,可以随时更改的名称在nginx.conf配置文件中 使用的 user指令。默认的为非特权用户。
–with-select_module --without-select_module 启用或禁用构建一个模块来允许服务器使用select()方法。该模块将自动建立,如果平台不支持的kqueue,epoll,rtsig或/dev/poll。
–with-poll_module --without-poll_module 启用或禁用构建一个模块来允许服务器使用poll()方法。该模块将自动建立,如果平台不支持的kqueue,epoll,rtsig或/dev/poll。
–without-http_gzip_module — 不编译压缩的HTTP服务器的响应模块。编译并运行此模块需要zlib库。
–without-http_rewrite_module 不编译重写模块。编译并运行此模块需要PCRE库支持。
–without-http_proxy_module — 不编译http_proxy模块。
–with-http_ssl_module — 使用https协议模块。默认情况下,该模块没有被构建。建立并运行此模块的OpenSSL库是必需的。
–with-pcre=path — 设置PCRE库的源码路径。PCRE库的源码(版本4.4 - 8.30)需要从PCRE网站下载并解压。其余的工作是Nginx的./ configure和make来完成。正则表达式使用在location指令和 ngx_http_rewrite_module 模块中。
–with-pcre-jit —编译PCRE包含“just-in-time compilation”(1.1.12中, pcre_jit指令)。
–with-zlib=path —设置的zlib库的源码路径。要下载从 zlib(版本1.1.3 - 1.2.5)的并解压。其余的工作是Nginx的./ configure和make完成。ngx_http_gzip_module模块需要使用zlib 。
–with-cc-opt=parameters — 设置额外的参数将被添加到CFLAGS变量。例如,当你在FreeBSD上使用PCRE库时需要使用:–with-cc-opt="-I /usr/local/include。.如需要需要增加 select()支持的文件数量:–with-cc-opt="-D FD_SETSIZE=2048".
–with-ld-opt=parameters —设置附加的参数,将用于在链接期间。例如,当在FreeBSD下使用该系统的PCRE库,应指定:–with-ld-opt="-L /usr/local/lib".

*编译安装
//执行make命令
make
//执行make install命令
make install

4.编译安装完成之后,进入/usr/lcoal/nginx,查看是否安装成功

./sbin/nginx -t

正常的情况下,信息输出如下:

[root@ nginx]# ./sbin/nginx -t

  • nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
  • nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

5.启动nginx

/usr/test/local/nginx/sbin/nginx

查看是否启动成功

ps -ef | grep nginx

[root@~]# ps -ef | grep nginx
root 22786 1 0 16:30 ? 00:00:00 nginx: master process /usr/local/nginx/sbin/nginx
nobody 22787 22786 0 16:30 ? 00:00:00 nginx: worker process
root 22789 22760 0 16:30 pts/1 00:00:00 grep --color=auto nginx

启动成功,打开浏览器,在浏览器中输入服务器的ip地址,如:192.168.1.12
image

如果打不开,查看下服务器80端口是否打开。

6.配置nginx开机自启动

CentOS 7以上使用Systemd进行系统初始化的,服务文件以 .service 结尾。

1.创建nginx.service

如果是自己编译安装,则需要自己编写nginx.service

vim /lib/systemd/system/nginx.service
内容如下:

[Unit]
Description=nginx
After=network.target

[Service]
Type=forking
ExecStart=/usr/test/local/nginx/sbin/nginx -c /usr/test/local/nginx/conf/nginx.conf
ExecReload=/usr/test/local/nginx/sbin/nginx -s reload
ExecStop=/usr/test/local/nginx/sbin/nginx -s quit
PrivateTmp=true

[Install]
WantedBy=multi-user.target

说明:

Unit:服务说明

Description:服务描述

After:服务类别

Service:服务

Type:类型,forking代表后台运行

ExecStart:启动命令

ExecReload:重启命令

ExecStop:停止命令

PrivateTmp:true表示给服务分配独立的空间

Install:设置成多用户

2、设置开机自动启动

systemctl enable nginx.service

3、其他说明

设置开机自动启动

systemctl enable nginx.service

设置禁止开机自动启动

systemctl disable nginx.service

启动nginx服务

systemctl start nginx.service

重新加载nginx配置

systemctl reload nginx.service

停止nginx服务

systemctl stop nginx.service

查看nginx服务状态

systemctl status nginx.service

配置完毕

posted @ 2023-06-29 10:39  ghostmen  阅读(1371)  评论(0)    收藏  举报