Centos7 安装Nginx
Nginx
(engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、[京东]、[新浪]、[网易]、[腾讯]、[淘宝]等。
准备工作
①安装gcc
nginx是C语言开发,建议在linux上运行。
安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc
1 | yum install gcc-c++ |
②安装PCRE
PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。
1 | yum install -y pcre pcre-devel |
③安装zlib
zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。
1 | yum install -y zlib zlib-devel |
④安装openssl
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。
nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。
1 | yum install -y openssl openssl-devel |
编译安装Nginx
①下载Nginx
个人推荐去Nginx官网下载稳定版👉http://nginx.org/en/download.htmlds👉nginx-1.16.1.tar.gz
;
1 | wget http://nginx.org/download/nginx-1.16.1.tar.gz |
如果下载慢的话点这里Nginx;上面已将下载好的直接跳到👉②
这里需要一个传输工具FileZilla
;需要的🤜FileZilla
使用SFTP
的协议登录后
将nginx-1.16.1.tar.gz
放到,远程服务器的/usr/loacl/
目录下
②解压
1 | tar -zxvf nginx-1.16.1.tar.gz nginx-1.16.1 |
③进入nginx-1.16.1
目录,配置参数
1 | ./configure \ |
④编译、安装
编译
1 | make |
安装
1 | make install |
编译+安装
1 | make && make install |
启动Nginx
安装好之后/usr/loacl/
目录下会有一个nginx
文件
进入文件
1 | cd /usr/local/nginx/sbin/nginx |
启动
1 | ./nginx |
这是会报一个错
1 | nginx: [emerg] mkdir() "/var/temp/nginx/client" failed (2: No such file or directory) |
按照提示解决
1 | mkdir -p /var/temp/nginx/client |
再次启动
1 | ./nginx |
查看是否在后台运行
1 | ps -ef | grep nginx |
如果有的话就说明成功了
测试访问下
在浏览器上
1 | Ip:80 # 你服务器的IP地址 nginx的默认端口 |
出现Welcome to nginx!
;说明安装成功!!
停止nginx
①快速停止:
进入目录文件
1 | cd /usr/local/nginx/sbin |
停止
1 | ./nginx -s stop |
此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程
②完整停止(建议使用)
1 | ./nginx -s quit |
此方式停止步骤是待nginx进程处理任务完毕进行停止
重启Nginx
①先停止再启动(建议使用)
对nginx进行重启相当于先停止nginx再启动nginx,即先执行停止命令再执行启动命令。
1 | ./nginx -s quit |
②重新加载配置文件
当nginx的配置文件nginx.conf修改后,要想让配置生效需要重启nginx,使用以下命令,不用先停止
1 | ./nginx -s reload |
上面的每个命令都必须在 Nginx
的跟目录下执行,为了运行及使用方便,我们选择配置软链接
配置软链接
1 | ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx |
配置完成后,上面的命令都不用,去Nginx
根目录下执行了。
Nginx报错
nginx: [emerg] open() “/var/run/nginx/nginx.pid” failed (2: No such file or directory)
解决步骤如下
- 进入
cd /usr/local/nginx/conf/
目录,编辑配置文件nginx.conf - 配置文件中有个注释的地方:
#pid logs/nginx.pid;
将注释放开,并修改为:pid /usr/local/nginx/logs/nginx.pid;
- 在
/usr/local/nginx
目录下创建logs
目录 - 重新加载
Nginx服务
即可