centos7搭建lnmp編譯安裝nginx【二】

冰凡發表於2017-01-05
1.官網下載安裝包nginx-1.8.0.tar.gz

2.通過命令解壓檔案
[root@localhost share]# tar -zxvf nginx-1.8.0.tar.gz 

3.執行配置:
[root@localhost nginx-1.8.0]# ./configure 
4.編譯安裝
[root@localhost nginx-1.8.0]# make&&make install

注:配置如果執行不成功,一般需要安裝相應的庫:PCRE,zlib,ssl

5.預設安裝到/usr/local/nginx/,進入安裝的目錄
[root@localhost nginx-1.8.0]# cd /usr/local/nginx/

6.測試是否安裝成功
啟動:
[root@localhost sbin]# /usr/local/nginx/sbin/nginx 
開啟瀏覽器,訪問本地頁面,如果出現Welcome to nginx!就說明成功了
注:如果不成功,請檢視80埠是否被佔用
[root@localhost sbin]# netstat -antlp | grep 80
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      2704/nginx: master  

7.設定php頁面可訪問,本人的簡單配置如下:
[root@localhost conf]# cat nginx.conf

user  nobody;
worker_processes  2;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;


    server {
            listen       80;
            server_name  web.iqter.local;

            root   /opt/www/;

            location / {
                index  index.php;
             }

            location ~ ^/.+\.php {
                fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                fastcgi_index  index.php;
                fastcgi_split_path_info ^(.+\.php)(/?.+)$;
                fastcgi_param PATH_INFO $fastcgi_path_info;
                fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
                include        fastcgi_params;
                fastcgi_pass   127.0.0.1:9000;
            }
    }

}



本人的網站根目錄放在/opt/www,域名訪問設定為 web.iqter.local;

8.設定全域性環境變數nginx,執行
[root@localhost ~]# vim /etc/profile
檔案最後新增
export PATH="/usr/local/nginx/sbin:$PATH"
立即生效:
[root@localhost ~]# source /etc/profile

9.設定開機自啟動
a.進入目錄
[root@localhost ~]# cd /etc/init.d/
b.編輯檔案,新增內容
[root@localhost init.d]# vim nginx
#!/bin/sh
#chkconfig: 2345 85 15
# description:Nginx Server
NGINX_HOME=/usr/local/nginx
NGINX_SBIN=$NGINX_HOME/sbin/nginx
NGINX_CONF=$NGINX_HOME/conf/nginx.conf
NGINX_PID=$NGINX_HOME/logs/nginx.pid
NGINX_NAME="Nginx"
. /etc/rc.d/init.d/functions
if [ ! -f $NGINX_SBIN ]
then
    echo "$NGINX_NAME startup: $NGINX_SBIN not exists! "
    exit
fi
start() {
    $NGINX_SBIN -c $NGINX_CONF
    ret=$?
    if [ $ret -eq 0 ]; then
        action $"Starting $NGINX_NAME: " /bin/true
    else
        action $"Starting $NGINX_NAME: " /bin/false
    fi
}
stop() {
    kill `cat $NGINX_PID`
    ret=$?
    if [ $ret -eq 0 ]; then
        action $"Stopping $NGINX_NAME: " /bin/true
    else
        action $"Stopping $NGINX_NAME: " /bin/false
    fi
}
restart() {
    stop
    start
}
check() {
    $NGINX_SBIN -c $NGINX_CONF -t
}
reload() {
    kill -HUP `cat $NGINX_PID` && echo "reload success!"
}
relog() {
    kill -USR1 `cat $NGINX_PID` && echo "relog success!"
}
case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    restart)
        restart
        ;;
    check|chk)
        check
        ;;
    status)
        status -p $NGINX_PID
        ;;
    reload)
        reload
        ;;
    relog)
        relog
        ;;
    *)
        echo $"Usage: $0 {start|stop|restart|reload|status|check|relog}"
        exit 1
esac



c.儲存後,增加檔案執行許可權
[root@localhost init.d]# chmod a+x nginx

e.開啟nginx系統服務
[root@localhost init.d]# chkconfig  nginx on

10.如果區域網其他網站不能訪問,請在hosts檔案加對應IP對映域名
192.168.1.99  web.iqter.local
並在centos增加防火牆訪問80埠
[root@localhost init.d]# firewall-cmd --zone=public --add-port=80/tcp --permanent
[root@localhost init.d]# firewall-cmd --reload

========================
注:不同版本設定防火牆埠訪問命令不同
centos7

使用這些命令來永久開啟一個新埠(如TCP/80)。

$ sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
$ sudo firewall-cmd --reload 

centos6

使用iptables的第一條命令可以通過防火牆開啟一個新TCP/UDP埠。為了永久儲存修改過的規則,還需要第二條命令。

$ sudo iptables -I INPUT -p tcp -m tcp --dport 80 -j ACCEPT
$ sudo service iptables save 
chkconfig使用
chkconfig --list        #列出所有的系統服務
chkconfig --add httpd        #增加httpd服務
chkconfig --del httpd        #刪除httpd服務
chkconfig --level httpd 2345 on        #設定httpd在執行級別為2、3、4、5的情況下都是on(開啟)的狀態
chkconfig --list        #列出系統所有的服務啟動情況
chkconfig --list mysqld        #列出mysqld服務設定情況
chkconfig --level 35 mysqld on        #設定mysqld在等級3和5為開機執行服務,--level 35表示操作只在等級3和5執行,on表示啟動,off表示關閉
chkconfig mysqld on        #設定mysqld在各等級為on,“各等級”包括2、3、4、5等級

檢視系統支援開啟的檔案數
[root@localhost init.d]# ulimit -n
1024

隨手摘錄的技術部落格

相關文章