Nginx安裝-Centos7

Nginx CentOS OpenSSL GCC 網絡編程愛好者 網絡編程愛好者 2017-09-07

CentOS 7.0默認使用的是firewall作為防火牆,這裡改為iptables防火牆。

systemctl stop firewalld.service #停止firewall

systemctl disable firewalld.service #禁止firewall開機啟動

yum install iptables-services #安裝

vi /etc/sysconfig/iptables #編輯防火牆配置文件

# Firewall configuration written by system-config-firewall

# Manual customization of this file is not recommended.

*filter

:INPUT ACCEPT [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

-A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT

-A INPUT -p icmp -j ACCEPT

-A INPUT -i lo -j ACCEPT

-A INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT

-A INPUT -j REJECT –reject-with icmp-host-prohibited

-A FORWARD -j REJECT –reject-with icmp-host-prohibited

COMMIT

:wq! #保存退出

systemctl restart iptables.service #最後重啟防火牆使配置生效

systemctl enable iptables.service #設置防火牆開機啟動

關閉SELINUX

vi /etc/selinux/config

#SELINUX=enforcing #註釋掉

#SELINUXTYPE=targeted #註釋掉

SELINUX=disabled #增加

:wq! #保存退出

setenforce 0 #使配置立即生效

1、進入nginx目錄

[root@localhost nginx-1.11.2]# ls

auto CHANGES CHANGES.ru conf configure contrib html LICENSE Makefile man objs README src

然後執行 ./configure #主要的作用是對即將安裝的軟件進行配置,檢查當前的環境是否滿足要安裝軟件的依賴關係

[root@localhost nginx-1.11.2]# ./configure

checking for OS

+ Linux 3.10.0-327.el7.x86_64 x86_64

checking for C compiler ... not found

./configure: error: C compiler cc is not found

簡單解釋:Gcc編譯器能將C、C++語言源程序、匯程式化序和目標程序編譯、連接成可執行文件。

2、yum解決 yum install gcc

1)然後再次執行 ./configure

報錯:./configure: error: the HTTP rewrite module requires the PCRE library.

PCRE是一個NFA正則引擎,不然不能提供完全與Perl一致的正則語法功能。但它同時也實現了DFA,只是滿足數學意義上的正則。

yum install -y pcre pcre-devel

2)然後再次執行 ./configure

報錯:./configure: error: the HTTP gzip module requires the zlib library.

libpng 是一套免費的、公開源代碼的程序庫,支持對 PNG 圖形文件的創建、讀寫等操作。libpng 使用 zlib 程序庫作為壓縮引擎,zlib 也是著名的 gzip (GNU zip) 所採用的壓縮引擎。

yum install -y zlib-devel

3)繼續往下做缺少什麼依賴就裝即可 這裡解決依賴 yum -y install gcc gcc-c++ make libtool zlib zlib-devel openssl openssl-devel pcre pcre-devel ncurses ncurses-devel

gcc、gc++、make先下載到本地

3、安裝

./configure \

–prefix=/usr/local/nginx \

–sbin-path=/usr/local/nginx/sbin/nginx \

–conf-path=/usr/local/nginx/conf/nginx.conf \

–error-log-path=/usr/local/nginx/logs/error.log \

–http-log-path=/usr/local/nginx/logs/access.log \

–pid-path=/usr/local/nginx/run/nginx.pid \

–lock-path=/usr/local/nginx/lock/nginx.lock \

–user=nginx \

–group=nginx \

–with-http_ssl_module \

–with-http_realip_module \

–with-http_stub_status_module \

–with-http_gzip_static_module \

–http-proxy-temp-path=/usr/local/nginx/tmp/nginx/proxy/ \

–http-fastcgi-temp-path=/usr/local/nginx/tmp/nginx/fcgi/ \

–http-uwsgi-temp-path=/usr/local/nginx/tmp/nginx/uwsgi

最後給出安裝位置信息

Configuration summary

+ using system PCRE library

+ using system OpenSSL library

+ using system zlib library

nginx path prefix: “/usr/local/nginx”

nginx binary file: “/usr/local/nginx/sbin”

nginx modules path: “/usr/local/nginx/modules”

nginx configuration prefix: “/usr/local/nginx”

nginx configuration file: “/usr/local/nginx/nginx.conf”

nginx pid file: “/usr/local/nginx/run/nginx.pid”

nginx error log file: “/usr/local/nginx/log/error.log”

nginx http access log file: “/usr/local/nginx/log/access.log”

nginx http client request body temporary files: “/usr/local/nginx/tmp/nginx/client/”

nginx http proxy temporary files: “/usr/local/nginx/tmp/nginx/proxy/”

nginx http fastcgi temporary files: “/usr/local/nginx/tmp/nginx/fcgi/”

nginx http uwsgi temporary files: “/usr/local/nginx/tmp/nginx/uwsgi”

nginx http scgi temporary files: “scgi_temp”

make && make install

/usr/local/nginx/sbin/nginx -t #查看配置是否正確

useradd -M -s /sbin/nologin nginx

groupadd -f nginx

/usr/local/nginx/sbin/nginx -V #查看可編譯選項,能找到安裝路徑信息

啟動時一些命令:

nginx -t

#啟動nginx

nginx

#說一下nginx啟動的一些事情

#一般來說在nginx的配置文件修改後進行如下操作,nginx -t檢測一下配置文件是否正確,如果正確的話

#再使用nginx -s reload 使nginx平滑啟動

#把nginx添加到開機啟動

vim /etc/rc.local

#在最後新加一行

/usr/local/nginx/sbin/nginx

#查看nginx是否啟動

netstat -tunpl | grep 80

pstree 看下有沒有nginx就行了

相關推薦

推薦中...