lnmp环境搭建--nginx编译安装


加油吧!Davidvivi

查看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 即会加入环境变量

打赏,支持一下

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

Powered by WEIXIA.XIN,学的不仅是技术,更是梦想!!!

Davidvivi博客
请先登录后发表评论
  • 最新评论
  • 总共 0条评论