記錄:CentOS7.2配置LNMP環境記錄

CentOS7.2配置LNMP環境記錄

php 5.6+ nginx 1.10+ mysql 5.5+

LNMP是Linux、Nginx、MySQL(MariaDB)和PHP的縮寫,這個組合是最多見的WEB服務器的運行環境之一。本文將帶領你們在CentOS 7操做系統上搭建一套LNMP環境。php

本教程適用於CentOS 7.x版本。
準備工做html

更新 yum 源,自帶的源沒有 PHP5.6 :node

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

安裝 epel:mysql

yum install epel-release

而後更新下系統:nginx

yum update

準備工做完成,開始安裝!web

安裝Nginx

CentOS系統模板中配置了內網源,下載速度較快,推薦使用yum安裝Nginx:sql

sudo yum install nginx

按照提示,輸入yes後開始安裝。安裝完畢後,Nginx的配置文件在/etc/nginx目錄下。使用如下命令啓動Nginx:數據庫

sudo systemctl start nginx

檢查系統中firewalld防火牆服務是否開啓,若是已開啓,咱們須要修改防火牆配置,開啓Nginx外網端口訪問。apache

sudo systemctl status firewalld

若是顯示active (running),則須要調整防火牆規則的配置。瀏覽器

修改/etc/firewalld/zones/public.xml文件,在zone一節中增長:

<zone>
    ...
    <service name="nginx"/>
<zone>

保存後從新加載firewalld服務:

sudo systemctl reload firewalld

您能夠經過瀏覽器訪問 http://&lt;外網IP地址> 來肯定Nginx是否已經啓動。

最後將Nginx設置爲開機啓動:

sudo systemctl enable nginx.service

這麼Nginx就安裝成功了!


安裝MySQL(MariaDB)

MariaDB是MySQL的一個分支,主要由開源社區進行維護和升級,而MySQL被Oracle收購之後,發展較慢。在CentOS 7的軟件倉庫中,將MySQL更替爲了MariaDB。

咱們可使用yum直接安裝MariaDB:

sudo yum install mariadb-server

安裝完成以後,執行如下命令重啓MariaDB服務:

sudo systemctl start mariadb

MariaDB默認root密碼爲空,咱們須要設置一下,執行腳本:

sudo /usr/bin/mysql_secure_installation

這個腳本會通過一些列的交互問答來進行MariaDB的安全設置。

首先提示輸入當前的root密碼:

  • Enter current password for root (enter for none):
    初始root密碼爲空,咱們直接敲回車進行下一步。
  • Set root password? [Y/n]
    設置root密碼,默認選項爲Yes,咱們直接回車,提示輸入密碼,在這裏設置您的MariaDB的root帳戶密碼。
  • Remove anonymous users? [Y/n] 是否移除匿名用戶,默認選項爲Yes,建議按默認設置,回車繼續。
  • Disallow root login remotely? [Y/n]
    是否禁止root用戶遠程登陸?若是您只在本機內訪問MariaDB,建議按默認設置,回車繼續。 若是您還有其餘雲主機須要使用root帳號訪問該數據庫,則須要選擇n。
  • Remove test database and access to it? [Y/n] 是否刪除測試用的數據庫和權限?
    建議按照默認設置,回車繼續。
  • Reload privilege tables now? [Y/n]
    是否從新加載權限表?由於咱們上面更新了root的密碼,這裏須要從新加載,回車。

完成後你會看到Success!的提示,MariaDB的安全設置已經完成。咱們可使用如下命令登陸MariaDB:

mysql -uroot -p

按提示輸入root密碼,就會進入MariaDB的交互界面,說明已經安裝成功。

最後咱們將MariaDB設置爲開機啓動。

sudo systemctl enable mariadb

安裝PHP

咱們能夠直接使用yum安裝PHP:

sudo yum install php56w-cli php56w-fpm php56w-mysql php56w-mysqli php56w php56w-opcache php56w-gd php56w-intl php56w-mbstring php56w-exif php56w-mcrypt php56w-openssl

//把該安裝的一次性裝到位

安裝完成後咱們將php-fpm啓動:

sudo systemctl start php-fpm

將php-fpm設置爲開機啓動:

sudo systemctl enable php-fpm

接下來須要注意了!~配置Nginx--多個站點

我給你們提供一個範本做爲參考:

nginx.conf
裏面我會詳細的給予中文註釋
vi /etc/nginx/nginx.conf

//編輯nginx.conf的命令
# For more information on configuration, see:
#   * Official English Documentation: http://nginx.org/en/docs/
#   * Official Russian Documentation: http://nginx.org/ru/docs/

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log; #錯誤日誌記錄的位置
pid /run/nginx.pid; #nginx.pid爲記錄nginx主進程pid文件;切勿修改、移動
# Load dynamic modules. See /usr/share/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;
#引入/usr/share/nginx/modules/ 目錄下的全部以.conf結尾的文件

events {
    worker_connections 1024;
}

http {
    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  /var/log/nginx/access.log  main;

    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 2048;

    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;

    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    include /etc/nginx/conf.d/*.conf;
    #這句很重要,引入全部etc/nginx/conf.d/目錄下的.conf文件
    
    #***etc/nginx/conf.d/目錄存放的就是分站點的文件(下面會給出實例代碼)***
    
    server {
        #因爲咱們的nginx須要配置多站點,因此在此就須要註釋一些東西
        
         listen       80 default_server;
         listen       [::]:80 default_server;
        #保留監聽的端口  
        # server_name  _;
        # root         /usr/share/nginx/php;

        # Load configuration files for the default server block.
        # include /etc/nginx/default.d/*.conf;

        # location / {
        # }

        # error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
        # location ~ \.php$ {
        # root           /usr/share/php;
        # fastcgi_pass   127.0.0.1:9000;
        # fastcgi_index  index.php;
        # fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        # include        fastcgi_params;
        # }
    }

# Settings for a TLS enabled server.
#
#    server {
#        listen       443 ssl http2 default_server;
#        listen       [::]:443 ssl http2 default_server;
#        server_name  _;
#        root         /usr/share/nginx/html;
#
#        ssl_certificate "/etc/pki/nginx/server.crt";
#        ssl_certificate_key "/etc/pki/nginx/private/server.key";
#        ssl_session_cache shared:SSL:1m;
#        ssl_session_timeout  10m;
#        ssl_ciphers HIGH:!aNULL:!MD5;
#        ssl_prefer_server_ciphers on;
#
#        # Load configuration files for the default server block.
#        include /etc/nginx/default.d/*.conf;
#
#        location / {
#        }
#
#        error_page 404 /404.html;
#            location = /40x.html {
#        }
#
#        error_page 500 502 503 504 /50x.html;
#            location = /50x.html {
#        }
#    }

}

#注意:此份nginx.conf能夠直接複製了去使用!~好用了就給博主打個賞錢!謝謝!

配置完nginx以後咱們該幹啥、?固然是重啓nginx唄

service nginx start      #啓動nginx

service nginx stop       #中止nginx

service nginx restart    #重啓nginx

sudo systemctl reload nginx     #或者執行這條

重啓完畢,繼續打開 http://&lt;外網IP地址> 來肯定Nginx是否已經啓動
此時,服務器啓動的是nginx和apache
並且php-fpm默認發送到apache
因此我們還得繼續修改一下php-fpm

配置 php-fpm :

vi /etc/php-fpm.d/www.conf    

#編輯php-fpm配置文件

修改user和group (源代碼爲:user = apache group = apache)

user = nginx    
group = nginx

修改完了以後,仍是老樣子,重啓php-fpm服務

service php-fpm start      #啓動php-fpm

service php-fpm stop       #中止php-fpm

service php-fpm restart    #重啓php-fpm

最後,我們須要爲nginx添加站點了

添加站點這我先給你們一個截圖,以幫助你們迅速的瞭解是怎麼回事

clipboard.png
你們應該看的很清楚了,猜均可以猜到,博主這一共配置了三個站點,這三個站點是怎麼被nginx引入的呢?

我給你們貼出nginx的配置文件的裏面應該有這麼一句(注意圖中的紅框,上面的是地址)
include /etc/nginx/conf.d/*.conf;
#這句很重要,引入全部etc/nginx/conf.d/目錄下的.conf文件
#***etc/nginx/conf.d/目錄存放的就是分站點的文件(下面會給出實例代碼)***

好的,你們應該能準確理解了,若是仍是理解不了的話只能缺你回去喝點三鹿了!

下面我給你們貼出nginx站點配置文件的代碼,修改修改就能夠用

看代碼的時候請注意看裏面的路徑,固然我也仍是會給必定的中文註釋
#這個文件是上面的qopmall.com.conf
server {

    server_name  qopmall.com www.qopmall.com;#這裏就是你要綁定的域名了,空格分開
    location / {
            root   /usr/share/php/weixin; #這裏是你站點存放的文件夾名稱(也就是說,你當前這個站點的文件所有都丟在這個路徑的weixin文件夾裏面)
            index  index.php index.html index.htm; #這裏照抄便可
        }
    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    location ~ \.php$ {
        root           /usr/share/php/weixin; #這裏的配置等同於上面的那個root配置
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /usr/share/php/weixin/$fastcgi_script_name; #這裏的配置也是和上面的root配置同樣
        include        fastcgi_params;
    }
}

代碼很是簡單,我沒註釋到的不用修改就行;

上面的路徑,好比/usr/share/php/weixin 這就是你站點的根目錄,我給你們截圖參考:

clipboard.png

  • 各位童鞋,建立好站點了,先寫個簡單的php程序測試一下是否正常,好比info;
【補充:很重要】
部分童鞋發現按照教程操做最後沒法打開80端口,這是阿里雲的ECS服務器剛夠買完,默認關閉了80端口。這個請移步阿里雲控制檯自行操做,如需步驟,請自行百度!

因爲博主是個菜雞,也就順帶給你們分享一下經驗,老司機請繞道行駛! 若是你以爲博主寫得幫到了你,或者對你來講還算有用了,麻煩點個贊,土豪直接打賞就行,我不反對!see you!~
相關文章
相關標籤/搜索