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就行了