顯示具有 nginx 標籤的文章。 顯示所有文章
顯示具有 nginx 標籤的文章。 顯示所有文章

2019年10月22日 星期二

Ubuntu 18.04 安裝 Nginx+MySQL+PHP

安裝 Nginx, MySQL:
sudo apt-get update
sudo apt-get install nginx
sudo apt-get install mysql-server

設定MySQL安全性設定:
sudo mysql_secure_installation

安裝PHP:
sudo apt-get install php-fpm php-mysql php-json php-gd

設定 php.ini,編輯 /etc/php/7.2/fpm/php.ini,將cgi.fix_pathinfo設為0
;cgi.fix_pathinfo=1
cgi.fix_pathinfo=0

重新啟動PHP服務:
sudo service php7.2-fpm restart

設定一個新的nginx網站,以adia.cc為例。編輯 /etc/nginx/sites-available/adia.cc檔案:
server {
        listen 8080;
        root /var/www/adia.cc/html;
        index index.php index.html index.htm;
        access_log /var/log/nginx/adia.cc.access.log;
        error_log /var/log/nginx/adia.cc.error.log;
        server_name adia.cc www.adia.cc;
 
        location / {
                try_files $uri $uri/ =404;
        }
 
        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
                fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
        }
 
        location ~ /\.ht {
                deny all;
        }
}

建立adia.cc網站設定檔連結,並測試設定檔是否正確:
sudo ln -s /etc/nginx/sites-available/adia.cc /etc/nginx/sites-enabled/
sudo nginx -t

正確的話,應該會出現類似結果:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

接著建立一個PHP測試網頁,編輯 /var/www/adia.cc/html/info.php:
<?php
   phpinfo();
?>
重新啟動 Nginx 服務:
sudo service nginx restart

接下來利用瀏覽器測試 http://YOUR_IP/ 和 http://YOUR_IP:8080/info.php是否正常~
phpinfo() 執行結果


#

2014年7月23日 星期三

ubuntu 安裝 nginx,並設定 virtual hosts

1. 安裝 nginx 與 PHP5

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install nginx
$ sudo apt-get install fcgiwrap php5-fpm php5-xcache php5-mysql php5-pgsql php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl


2. 創建要放置網頁檔案的磁碟路徑(放在/var/www/之下)

$ sudo mkdir -p /var/www/yourdomain1.com/html
$ sudo mkdir -p /var/www/yourdomain2.com/html

$ sudo chown -R www-data:www-data /var/www/yourdomain1.com/html
$ sudo chown -R www-data:www-data /var/www/yourdomain2.com/html

$ sudo chmod -R 755 /var/www


3. 編寫 index.html

$ sudo vi /var/www/yourdomain1.com/html/index.html
$ sudo vi /var/www/yourdomain2.com/html/index.html

範例如下:

<html lang="zh-TW">
  <head>
 
    <title>page title</title>
    <script src="my-javascript-file.js"></script>
    <link href="my-css-file.css" rel="stylesheet"></link>
  </head>
  <body>
    <!-- 網頁內容就放在body內吧 -->
    Hello, yourdomain1.com <!-- 或是 yourdomain2.com -->
  </body>
</html>


4. 設定第一個網站設定檔

$ sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/yourdomain1.com
$ sudo vi /etc/nginx/sites-available/yourdomain1.com

修改設定檔內容:

server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    root /var/www/yourdomain1.com/html;
    index index.html index.htm index.php;

    server_name yourdomain1.com www.yourdomain1.com;

    location / {
        try_files $uri $uri/ =404;
    }
}

5. 設定第二個網站設定檔

$ sudo cp /etc/nginx/sites-available/yourdomain1.com /etc/nginx/sites-available/yourdomain2.com
$ sudo vi /etc/nginx/sites-available/yourdomain2.com

修改設定檔內容,注意listen設定有些不同:

server {
    listen 80;
    listen [::]:80;

    root /var/www/yourdomain2.com/html;
    index index.html index.htm index.php;

    server_name yourdomain2.com www.yourdomain2.com;

    location / {
        try_files $uri $uri/ =404;
    }
}

6. 讓兩個網站的設定檔案生效

$ sudo ln -s /etc/nginx/sites-available/yourdomain1.com /etc/nginx/sites-enabled/
$ sudo ln -s /etc/nginx/sites-available/yourdomain2.com /etc/nginx/sites-enabled/


7. 移除預設設定檔案

$ sudo rm /etc/nginx/sites-enabled/default


8. 修改 nginx.conf

$ sudo vi /etc/nginx/nginx.conf

將 server_names_hash_bucket_size: 64; 前面的註解符號 # 移除,然後存檔離開


9. 重新啟動 nginx

$ sudo service nginx restart


10. 修改 hosts,新增網站資料

$ sudo vi /etc/hosts

新增
192.168.1.80 yourdomain1.com
192.168.1.80 yourdomain2.com


11. 設定開機時,自動啟動nginx服務

$ sudo update-rc.d nginx defaults


#