查看Linux版本
[root@iZwz96pb4qob9lpzadqipkZ etc]# lsb_release -a LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch Distributor ID: CentOS Description: CentOS release 6.8 (Final) Release: 6.8 Codename: Final [root@iZwz96pb4qob9lpzadqipkZ etc]# cat /etc/redhat-release CentOS release 6.8 (Final)
一、安装Nginx
准备工作,安装Nginx前先安装如下依赖:
安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc.
PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。
zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。
nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。
gcc 安装:yum install gcc-c++ PCRE pcre-devel 安装:yum install -y pcre pcre-devel zlib 安装: yum install -y zlib zlib-devel OpenSSL 安装:yum install -y openssl openssl-devel
1.编译安装Nginx-1.13.4
[root@iZwz96pb4qob9lpzadqipkZ local]# cd /usr/local [root@iZwz96pb4qob9lpzadqipkZ local]# wget https://nginx.org/download/nginx-1.13.4.tar.gz 1.下载 wget https://nginx.org/download/nginx-1.13.4.tar.gz 2.解压 tar -zxvf nginx-1.13.4.tar.gz 3.cd nginx-1.13.4
编译
./configure \ --prefix=/usr/local/nginx \ --pid-path=/var/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 \ --with-http_gzip_static_module \ --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
可以看到
Configuration summary + using system PCRE library + OpenSSL library is not used + using system zlib library nginx path prefix: "/usr/local/nginx" nginx binary file: "/usr/local/nginx/sbin/nginx" nginx modules path: "/usr/local/nginx/modules" nginx configuration prefix: "/usr/local/nginx/conf" nginx configuration file: "/usr/local/nginx/conf/nginx.conf" nginx pid file: "/var/run/nginx/nginx.pid" nginx error log file: "/var/log/nginx/error.log" nginx http access log file: "/var/log/nginx/access.log" nginx http client request body temporary files: "/var/temp/nginx/client" nginx http proxy temporary files: "/var/temp/nginx/proxy" nginx http fastcgi temporary files: "/var/temp/nginx/fastcgi" nginx http uwsgi temporary files: "/var/temp/nginx/uwsgi" nginx http scgi temporary files: "/var/temp/nginx/scgi"
编译安装
4.make 5.make install
2.安装成功查看安装目录
test -d '/usr/local/nginx/html' \ || cp -R html '/usr/local/nginx' test -d '/var/log/nginx' \ || mkdir -p '/var/log/nginx' make[1]: Leaving directory `/usr/local/nginx-1.13.4' [root@iZwz96pb4qob9lpzadqipkZ nginx-1.13.4]# cd .. [root@iZwz96pb4qob9lpzadqipkZ local]# ls aegis games lib64 nginx-1.13.4 share bin include libexec nginx-1.13.4.tar.gz src etc lib nginx sbin [root@iZwz96pb4qob9lpzadqipkZ local]# cd nginx [root@iZwz96pb4qob9lpzadqipkZ nginx]# ll total 12 drwxr-xr-x 2 root root 4096 Aug 25 00:08 conf drwxr-xr-x 2 root root 4096 Aug 25 00:08 html drwxr-xr-x 2 root root 4096 Aug 25 00:08 sbin [root@iZwz96pb4qob9lpzadqipkZ nginx]#
3.运行Nginx,进入到sbin目录下执行./nginx,出现这个错误只需root下手动创建目录即可。
[root@iZwz96pb4qob9lpzadqipkZ sbin]# ./nginx nginx: [emerg] mkdir() "/var/temp/nginx/client" failed (2: No such file or directory) [root@iZwz96pb4qob9lpzadqipkZ sbin]# pwd /usr/local/nginx/sbin [root@iZwz96pb4qob9lpzadqipkZ sbin]# ./nginx nginx: [emerg] mkdir() "/var/temp/nginx/client" failed (2: No such file or directory) [root@iZwz96pb4qob9lpzadqipkZ sbin]# mkdir -p /var/temp/nginx/client [root@iZwz96pb4qob9lpzadqipkZ sbin]# ./nginx
查看配置信息是否正确
[root@iZwz96pb4qob9lpzadqipkZ sbin]# /usr/local/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
4.查看Nginx进程ps aux | grep nginx
[root@iZwz96pb4qob9lpzadqipkZ sbin]# mkdir -p /var/temp/nginx/client [root@iZwz96pb4qob9lpzadqipkZ sbin]# ./nginx[root@iZwz96pb4qob9lpzadqipkZ sbin]# ps aux | grep nginxroot root 4259 0.0 0.0 22060 660 ? Ss 00:22 0:00 nginx: master process ./nginx nobody 4260 0.0 0.1 22504 1256 ? S 00:22 0:00 nginx: worker process root 4262 0.0 0.0 105368 884 pts/0 S+ 00:25 0:00 grep nginx
5.输入IP测试nginx是否正常运行
6.创建Nginx启动脚本
首先添加用户nginx,实现以之运行nginx服务进程:
# groupadd -r nginx # useradd -r -g nginx nginx
查看Nginx用户及用户组
cat /etc/passwd cat /etc/group
参考官方脚本
https://www.nginx.com/resources/wiki/start/topics/examples/redhatnginxinit/
先关闭Nginx
pkill -9 nginx
添加脚本,在init.d添加Nginx启动脚本
vi /etc/init.d/nginx
记得修改脚本
nginx="/usr/local/nginx/sbin/nginx" prog=$(basename $nginx) NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"
改变nginx脚本权限
chmod 755 /etc/init.d/nginx
添加进service管理服务并设置开机启动
chkconfig –add nginx chkconfig nginx on
服务启动测试
service nginx start
加入到环境变量
vim /etc/profile
尾行添加
PATH=$PATH:/usr/local/nginx/sbin export PATH
保存关闭后运行 source /etc/profile 即会加入环境变量
本文为Davidvivi原创文章,转载无需和我联系,但请注明来自Davidvivi博客weixia.xin 本人微信:ww646904527,备注博客