一个计算机技术爱好者与学习者

0%

好好学Nginx:CentOS7中安装配置Nginx

1. 前言

本文学习在CentOS7中安装配置Nginx的方法。

参考文档:

2. yum安装nginx

1、添加epel库

1
yum install epel-release

2、安装nginx

1
yum install nginx

安装完成后,nginx的默认配置路径为/etc/nginx/。

3、启动nginx

1
systemctl start nginx

4、测试访问

1
curl localhost

浏览器如果不能访问,可能需要关闭防火墙或者打开端口。

1
2
3
4
5
# 关闭防火墙
systemctl stop firewalld.service
# 开放端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload

5、设置开机启动

1
2
3
4
5
6
7
8
9
10
11
systemctl enable nginx
````

# 编译安装nginx
## 普通编译安装
1、安装编译工具
```bash
yum install -y gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel

2、下载nginx1.12.0并解压

1
2
3
wget http://nginx.org/download/nginx-1.12.0.tar.gz
tar -xzvf nginx-1.12.0.tar.gz
cd nginx-1.12.0

3、创建临时目录

1
2
3
mkdir -p /var/temp/nginx
mkdir -p /var/temp/run/nginx
chmod a+wrx -R /var/temp

4、配置编译选项

1
2
3
4
5
6
7
8
9
10
11
12
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/temp/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi \
--with-http_gzip_static_module

注意:pid-path 不能设置为/var/run/nginx/nginx.pid。因为CentOS每次重启后,都会删除 /var/run 目录中的自建目录和文件,从而导致nginx自启动失败。

5、编译安装

1
make && make install

进入/usr/local/nginx查看文件是否存在conf、sbin、html文件夹,若存在则安装成功

6、测试启动

1
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

如果不指定-c,nginx在启动时默认加载conf/nginx.conf文件。

7、测试访问

1
curl localhost

3. 编译安装所有模块

1、安装编译工具

1
2
3
4
5
6
7
8
9
10
11
yum install -y gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
yum install -y libxml2 libxml2-devel
yum install -y libxslt libxslt-devel
yum install -y gd-devel
yum install -y perl-ExtUtils-Embed
yum install -y GeoIP GeoIP-devel GeoIP-data
yum install -y gperftools
yum install -y libatomic_ops-devel

2、下载nginx1.12.0并解压

1
2
3
wget http://nginx.org/download/nginx-1.12.0.tar.gz
tar -xzvf nginx-1.12.0.tar.gz
cd nginx-1.12.0

3、创建临时目录

1
2
3
mkdir -p /var/temp/nginx
mkdir -p /var/temp/run/nginx
chmod a+wrx -R /var/temp

4、下载ngx_http_upstream_check_module模块

1
git clone https://github.com/yaoweibin/nginx_upstream_check_module

5、配置编译选项

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/temp/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi \
--with-http_gzip_static_module \
--with-select_module \
--with-poll_module \
--with-threads \
--with-file-aio \
--with-ipv6 \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_realip_module \
--with-http_addition_module \
--with-http_xslt_module \
--with-http_xslt_module \
--with-http_image_filter_module \
--with-http_image_filter_module \
--with-http_geoip_module \
--with-http_geoip_module \
--with-http_sub_module \
--with-http_dav_module \
--with-http_flv_module \
--with-http_mp4_module \
--with-http_gunzip_module \
--with-http_auth_request_module \
--with-http_random_index_module \
--with-http_secure_link_module \
--with-http_degradation_module \
--with-http_slice_module \
--with-http_stub_status_module \
--with-http_perl_module \
--with-mail \
--with-mail_ssl_module \
--with-stream \
--with-stream \
--with-stream_ssl_module \
--with-google_perftools_module \
--with-cpp_test_module \
--with-pcre \
--with-libatomic \
--add-module=./nginx_upstream_check_module

6、编译安装

1
make && make install

3.1. 设置开机启动

参考文档:

1、创建systemd服务文件 nginx.service

1
vi /usr/lib/systemd/system/nginx.service

写入内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
[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

3、设置开机自启动

1
systemctl enable nginx.service

4、查看nginx状态

1
systemctl status nginx.service

5、重启服务器验证开机自启动

1
2
reboot
systemctl status nginx.service

看到nginx已经启动,至此nginx自启动配置成功。

  • 本文作者: 好好学习的郝
  • 原文链接: https://www.voidking.com/dev-centos-nginx/
  • 版权声明: 本文采用 BY-NC-SA 许可协议,转载请注明出处!源站会即时更新知识点并修正错误,欢迎访问~
  • 微信公众号同步更新,欢迎关注~