情境
最近開始接觸 Centos 試著架設網站,使用了 Nginx、PHP-FPM、MariaDB,順便稍微把操作程序做個記錄,至於那些重要的觀念再另闢章節吧。
環境
ver: CentOS 7 DVD
準備
- 先安裝 epel (Nginx 在這裡才有,還有 php-mcrypt)
sudo yum install epel-release.noarch
安裝 Nginx
安裝 nginx
sudo yum install nginx
常駐 nginx 服務
sudo systemctl enable nginx.service
啟動 nginx
sudo systemctl start nginx.service
測試 nginx
ps aux | grep nginx
看到這樣的訊息就是成功了
root 23323 0.0 0.0 110016 132 ? Ss 08:30 0:00 nginx: master process /usr/sbin/nginx nginx 23324 0.0 0.0 112580 304 ? S 08:30 0:00 nginx: worker process
安裝 PHP
安裝 php 以及相關的 extension
sudo yum install php.x86_64 php-common.x86_64 php-gd.x86_64 php-mcrypt.x86_64 php-mbstring.x86_64 php-fpm.x86_64 php-xml.x86_64 php-mysql.x86_64
設定 /etc/php.ini 檔案
cgi.fix_pathinfo=0 ... display_errors = 1
設定 /etc/php-fpm.d/www.conf 檔案
listen = /var/run/php-fpm/php-fpm.sock ... user = nginx group = nginx
常駐 php 服務
sudo systemctl enable php-fpm.service
啟動 php
sudo systemctl start php-fpm.service
回頭補設定 /etc/nginx/conf.d/default.conf (視情況,有的是要改 /etc/nginx/nginx.conf 裏面的 server)
server { listen 80; server_name burn-lab.com; root /var/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 /usr/share/nginx/html; } location ~ \.php$ { try_files $uri =404; fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
改完重啟 nginx
sudo systemctl restart nginx
測試 php
直接在 /var/www/ 裡面隨便放個 php 檔案,連線看看 php 有沒有成功跑出來。
正常來說一定會失敗,因為沒有打開防火牆。讓我們稍微加快腳步一下…
sudo firewall-cmd --add-service=http --permanent sudo systemctl reload firewalld.service
安裝 MariaDB
安裝 mariadb
sudo yum install mariadb mariadb-server
常駐 mariadb 服務
sudo systemctl enable mariadb.service
啟動 mariadb
sudo systemctl start mariadb.service
接下來就是使用預設帳號 root ,預設密碼是無來登入 mariadb。就跟使用 mysql 一模一樣。我自己是習慣開立一個新的帳號給 wordpress 用啦。
如果想要從外部可以連線至 mariadb,也請記得開一下防火牆。
sudo firewall-cmd –add-service=mysql –permanent
sudo systemctl reload firewalld.service
就這樣,基本環境就建立好了,之後再來講要怎麼架設 wordpress。