CentOS7.3 安裝配置 Nginx、MariaDB、PHP

CentOS7.3 安裝配置 Nginx、MariaDB、PHP

配置 nginx 安裝參數並安裝

配置

如下參數也能夠在後期經過配置 conf 文件進行配置
基本配置以下php

./configure --prefix=/usr/local/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --user=nginx --group=nginx

更多模塊一塊兒安裝配置以下,有些模塊須要系統安裝相應組件,根據提示進行安裝,好比 gd 組件,須要經過 yum install gd-devel 安裝對應系統組件。html

./configure --prefix=/usr/local/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --user=nginx --group=nginx --with-select_module --with-poll_module --with-file-aio --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module --with-http_xslt_module=dynamic --with-http_image_filter_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_auth_request_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_stub_status_module --with-http_perl_module --http-log-path=/var/log/nginx/access.log --with-mail --with-mail_ssl_module --with-cpu-opt=CPU --with-pcre --with-pcre-jit --with-zlib-asm=CPU --with-debug

出現以下內容說明配置成功,記錄了你的 Nginx 相關配置信息。mysql

nginx path prefix: "/usr/local/nginx"
  nginx binary file: "/usr/sbin/nginx"
  nginx modules path: "/usr/local/nginx/modules"
  nginx configuration prefix: "/etc/nginx"
  nginx configuration file: "/etc/nginx/nginx.conf"
  nginx pid file: "/usr/local/nginx/logs/nginx.pid"
  nginx error log file: "
  "
  nginx http access log file: "/var/log/nginx/access.log"
  nginx http client request body temporary files: "client_body_temp"
  nginx http proxy temporary files: "proxy_temp"
  nginx http fastcgi temporary files: "fastcgi_temp"
  nginx http uwsgi temporary files: "uwsgi_temp"
  nginx http scgi temporary files: "scgi_temp"

編譯

make && make install

提示以下成功:nginx

cp objs/ngx_http_xslt_filter_module.so '/usr/local/nginx/modules/ngx_http_xslt_filter_module.so'
make[1]: 離開目錄「/root/nginx-1.11.10」

檢查是否安裝成功

執行以下命令啓動,並用 ps 命令檢查啓動狀況web

/usr/sbin/nginx -c /etc/nginx/nginx.conf
ps -ef | grep nginx

添加 nginx 到系統服務

vim /usr/lib/systemd/system/nginx.service

增長以下內容(結合安裝時的配置文件進行修改),其中 特殊的環境變量 $MAINPID 可用於表示主進程的PID。有關 systemd.service 的配置,能夠參加下面兩篇文章:
systemd 入門教程:命令篇
Systemd 入門教程:實戰篇
systemd.service 中文手冊sql

[Unit]
Description=The nginx HTTP and reverse proxy server
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/sbin/nginx -c /etc/nginx/nginx.conf -t
ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

:wq 保存退出json

中止原先啓動的 Nginx 進程,vim

/usr/sbin/nginx -s stop
  ps -ef|grep nginx
  systemctl daemon-reload
  systemctl start nginx.service

服務啓動後,打開瀏覽器,輸入您網站的地址,查看歡迎頁面是否正常顯示。瀏覽器

不知道 ip 的,能夠經過以下命令找到本機 ip 地址安全

ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'

命令行測試網頁

curl http://yourip

安裝 MySQL (MariaDB)

sudo yum install mariadb-server mariadb
sudo systemctl start mariadb

增長 mysql 安全性

sudo mysql_secure_installation

設置爲系統啓動加載

sudo systemctl enable mariadb

安裝 php7

創建 php7 的 yum 源

wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
wget http://rpms.remirepo.net/enterprise/remi-release-7.rpm
rpm -Uvh remi-release-7.rpm 
rpm -Uvh epel-release-latest-7.noarch.rpm

後面會用到 yum-config-manager,若無此指令,可先用 yum search 查詢在那個套件再安裝,咱們經過 search 找到爲 yum-utils

yum search yum-config-manager
yum install yum-utils

開啓remi 、remi-php71 源

yum-config-manager --enable remi
yum-config-manager --enable remi-php71

若是安裝的是 php5.6 則修改上句以下:

yum-config-manager --enable remi-php56

yum repolist all 查看全部 repo,檢查是否配置成功。

安裝 php php-fpm php-mysql 及其餘 php 模塊

若是原先已安裝 php,能夠用 yum update php* 更新,或者用 yum remove php 刪除後再從新安裝。

yum install php php-fpm php-mysql php-bcmath php-gd php-mbstring -y

如下組件也能夠挑須要的安裝。

yum install php-fpm php-mysql php-bcmath php-cli php-common php-gd php-mbstring php-pdo php-pear php-pecl-msgpack php-process php-xml gd-last php-json  php-pecl-memcached  php-pecl-zip -y

能夠用 yum list installed | grep php 查看 php 套件安裝狀況。
php -v 查看當前版本。

配置 php-fpm

找到你的 php-fpm.sock 文件,將該路徑配置到 php-fpm 的 conf 文件中

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

修改 www.conf 以下

listen = /run/php-fpm/php-fpm.sock

php-fpm 的 user/group 要和 webserver 的全部權一致,如我在 CentOS7 下,用 nginx 用戶 運行 nginx 服務,則修改 php-fpm 的 www.conf 配置以下:

listen.owner = nginx
listen.group = nginx
listen.mode = 0660

user = nginx
group = nginx

重啓 php-fpm 服務,並加入到系統自啓動中:

sudo systemctl start php-fpm
sudo systemctl enable php-fpm

若是重啓後,php 服務仍是不成功,可能還需執行 chown nginx:nginx /run/php-fpm/php-fpm.sock 後再重啓。

配置 Nginx 使其能執行 php 頁面

vi /etc/nginx/nginx.conf

主要有以下步驟:

  • 設置 root 根目錄

  • 添加 index.php 爲默認目錄首頁請求

  • 修改 server_name ,添加域名或 IP

  • 定義 404 等錯誤頁面的規則

  • 配置 PHP 處理模塊,主要調整 location ~ \.php$ { 部分,尤爲注意 fastcgi_pass unix: 指向的 php-fpm.sock 路徑是否正確;

  • 保存後重啓 nginx 服務

個人配置文件大體以下:

server {
    listen       80;
    server_name  server_domain_name_or_IP;

    # note that these lines are originally from the "location /" block
    root   /www;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }
    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /www;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

在根目錄添加一個 phpinfo 的 php 文件,打開瀏覽器進行測試是否正常顯示。
成功後刪除測試頁面。

安裝 phpmyadmin

去官網下載解壓便可:

wget https://files.phpmyadmin.net/phpMyAdmin/4.6.6/phpMyAdmin-4.6.6-all-languages.zip
unzip phpMyAdmin-4.6.6-all-languages.zip -d /www

cp config.sample.inc.php config.inc.php

若是瀏覽器打開出現以下錯誤:

session_start(): open(SESSION_FILE, O_RDWR) failed: Permission de

則修改報錯信息文件的全部權,以下

chown nginx:nginx /var/lib/php/session
相關文章
相關標籤/搜索