Ubuntu 安裝LANMP環(huán)境

安裝 PHP7.1

檢查一下一些需要用到的軟件是否安裝

dpkg -l gcc g++ libmcrypt-dev curl

CentOS 下g++似乎是gcc-c++,安裝 libmcrypt-dev 會將 libmcrypt4 一起安裝,直接搜 libmcrypt 搜不到

若沒有后安裝的話,搜索是否有資源可以下載

apt-cache search gcc
apt-cache search g++
apt-cache search libmcrypt-dev
apt-cache search curl
# 或者
apt-cache madison gcc g++ libmcrypt-dev curl

安裝缺少的軟件

添加官方的ppa源,保證可以下載到最新的php版本

sudo add-apt-repository ppa:ondrej/php
# 如果當前系統(tǒng)不是UTF-8 的 locales 可以 加上  LC_ALL=C.UTF-8,如下
# sudo LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php
sudo apt-get update

如果無法使用 add-apt-repository 鍵入命令 sudo apt-get install software-properties-common python-software-properties 參考:Ubuntu無法找到add-apt-repository問題的解決方法

查找可下載的PHP版本及擴展

sudo apt-cache search php7.1

這里把php7.1版本及擴展大部分都包進去了,不分粗細先下了再說

sudo apt-get -y install php7.1
sudo apt-get -y install php7.1-cgi php7.1-cli php7.1-dev php7.1-fpm php7.1-phpdbg php7.1-bz2 php7.1-common php7.1-curl 
sudo apt-get -y install php7.1-dba php7.1-enchant php7.1-gd php7.1-gmp php7.1-imap php7.1-interbase php7.1-intl php7.1-ldap
sudo apt-get -y install php7.1-mbstring php7.1-odbc php7.1-pgsql php7.1-pspell php7.1-readline php7.1-recode php7.1-snmp
sudo apt-get -y install php7.1-soap php7.1-sqlite3 php7.1-sybase php7.1-xml php7.1-xmlrpc php7.1-zip php7.1-opcache php7.1-xsl
sudo apt-get -y install libapache2-mod-php7.1 libphp7.1-embed

卸載PHP

sudo apt-get --purge remove php7.2*

由于之前下載擴展的時候?qū)?code>7.2下載下來了,直接使用 sudo apt-get remove php7.2*刪除似乎沒效果,會提示無法卸載未安裝的軟件包,下載的7.1的擴展也無法正常顯示,參考: Linux(Ubuntu)安裝和完美卸載PHP7詳細教程 這篇博文輕松卸載

安裝 apache

apt-get install apache2

安裝 Apache 文檔和一些 Apache 實用程序。

apt-get -y install apache2-doc apache2-utils

Apache應(yīng)用放通80端口和443/tcp端口

ufw allow 'Apache Full'
# 或者 
ufw allow 80/tcp
ufw allow 443/tcp

這里加了tcp表示只放通tcp協(xié)議訪問80端口(協(xié)議包括tcp協(xié)議和udp協(xié)議)
關(guān)于優(yōu)化參考:如何在 Ubuntu 上安裝和優(yōu)化 Apache

安裝Nginx

安裝Nginx之前需要安裝的模塊依賴:
①gzip 模塊需要 zlib 庫
②rewrite 模塊需要 pcre 庫
③ssl 功能需要 openssl 庫
先檢查下是否有這些依賴庫

apt-cache madison libpcre3 libpcre3-dev libpcrecpp0 libssh-dev zlib1g-dev
或者直接安裝
sudo apt-get install libpcre3 libpcre3-dev libpcrecpp0 libssh-dev zlib1g-dev

ubuntu 環(huán)境下,安裝build-essential 可以解決軟件缺少依賴庫的情況。下載軟件時,build-essential會自動將軟件的依賴也下載下來 參考:Ubuntu下安裝Nginx詳細步驟

nginx的安裝方式有多種,這里選擇通過添加ppa源 安裝nginx
其他方式見 Ubuntu上安裝Nginx服務(wù)器程序及簡單的環(huán)境配置小結(jié)

sudo add-apt-repository ppa:nginx/stable
sudo apt-get update 
sudo apt-get install nginx 

查看nginx當前版本

~$ nginx -v
nginx version: nginx/1.14.2

nginx 與 php-fpm 的配置

sudo vim /etc/nginx/sites-available/default

編輯默認虛擬主機配置(摘選)

server {
    # Add index.php to the list if you are using PHP
    index index.php index.html index.htm index.nginx-debian.html;
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        # With php-fpm (or other unix sockets):
        fastcgi_pass unix:/var/run/php/php7.1-fpm.sock;
        # With php-cgi (or other tcp sockets):
        # fastcgi_pass 127.0.0.1:9000;
    }
}
  1. nginx.conf 包含的默認虛擬主機的文件 /etc/nginx/sites-enabled/default/etc/nginx/sites-available/default的軟連接
  2. 默認配置default里將index.php加到 index后面
  3. 去掉 location ~ \.php$模塊的備注

fastcgi_pass地址和/etc/php/7.1/fpm/pool.d/www.conf 下面的監(jiān)聽地址保持一致

; Note: This value is mandatory.
listen = /run/php/php7.1-fpm.sock

重啟nginx
由于前面有安裝apache所以要先將apache的服務(wù)關(guān)掉再重啟,不然端口會被占用

2019/04/03 08:59:34 [emerg] 4110#4110: listen() to [::]:80, backlog 511 failed (98: Address already in u
2019/04/03 08:59:34 [emerg] 4110#4110: still could not bind()
~$ sudo systemctl stop apache2

由于暫時不用到apache并且避免重啟后端口沖突的問題,將防火墻關(guān)于apache的端口禁用掉

# 查看所有端口應(yīng)用列表
~$ sudo ufw app list
可用應(yīng)用程序:
  Apache
  Apache Full
  Apache Secure
  CUPS
  Nginx Full
  Nginx HTTP
  Nginx HTTPS
  OpenSSH
# 禁用對應(yīng)的端口應(yīng)用
~$ sudo ufw delete 'Apache Full'
~$ sudo systemctl restart nginx

LNMP啟動界面

lnmp

設(shè)置一下開機啟動

vagrant@nginx:~$ sudo systemctl enable nginx
Synchronizing state of nginx.service with SysV init with /lib/systemd/systemd-sysv-install...
Executing /lib/systemd/systemd-sysv-install enable nginx

mysql 安裝參考 Ubuntu 安裝mysql和簡單操作

待續(xù)...

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容