Linux部署Mysql+Nginx

簡(jiǎn)要

????????Nginx (讀”engine x”) 是一款免費(fèi)、開源的高性能 HTTP 服務(wù)琅摩。Nginx 穩(wěn)定、豐富的功能集锭硼、配置簡(jiǎn)單房资、資源消耗低。本教程介紹了如何通過PHP7支持(通過PHP-FPM)和MySQL5.7支持(LEMP= LINUX + nginx(發(fā)音為“engine x”)+ MySQL+ PHP)在Ubuntu16.04服務(wù)器上安裝Nginx服務(wù)器檀头。



1.初步說(shuō)明

在本教程中轰异,我使用的IP 地址192.168.40.129,主機(jī)名server1.example.com暑始。這些設(shè)置可能與你的不同搭独,所以你不得不在適當(dāng)情況下更換他們。

我運(yùn)行的所有步驟在本教程中使用root權(quán)限廊镜,所以一定要確保你以root身份登錄牙肝。

2.更換國(guó)內(nèi)源

如果是自己下載的鏡像,請(qǐng)更換更新源嗤朴。如果是購(gòu)買的VPS配椭、云服務(wù)器等請(qǐng)直接忽略此步驟。

vi /etc/apt/sources.list

將以下內(nèi)容復(fù)制到sources.list內(nèi)

# deb cdrom:[Ubuntu 16.04 LTS _Xenial Xerus_ - Release amd64 (20160420.1)]/ xenial main restricteddeb-src http://archive.ubuntu.com/ubuntu xenial main restricted#Added by software-propertiesdeb http://mirrors.aliyun.com/ubuntu/ xenial main restricted

deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe#Added by software-propertiesdeb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted

deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe#Added by software-propertiesdeb http://mirrors.aliyun.com/ubuntu/ xenial universe

deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe

deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse

deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse

deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse#Added by software-propertiesdeb http://archive.canonical.com/ubuntu xenial partner

deb-src http://archive.canonical.com/ubuntu xenial partner

deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted

deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe#Added by software-propertiesdeb http://mirrors.aliyun.com/ubuntu/ xenial-security universe

deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse

執(zhí)行更新

apt-get update

2.安裝Mysql

安裝 MySQL?運(yùn)行命令:

apt-get -y install mysql-server mysql-client

你會(huì)被要求提供MySQL的root用戶密碼 :

????New password for the MySQL “root” user:<– yourrootsqlpassword

????Repeat password for the MySQL “root” user:<– yourrootsqlpassword


為了確保數(shù)據(jù)庫(kù)服務(wù)器雹姊,并刪除匿名用戶和測(cè)試數(shù)據(jù)庫(kù)股缸,運(yùn)行mysql_secure_installation命令。

mysql_secure_installation

你會(huì)問這些問題:

????root@server1:~# mysql_secure_installation

保護(hù)MySQL服務(wù)器部署吱雏,一直按Enter即可敦姻。

3.安裝Nginx

在你已經(jīng)安裝了Apache2的話瘾境,那么使用這些命令先刪除再安裝nginx:

service apache2 stop

update-rc.d -f apache2 remove

apt-get remove apache2

Ubuntu16.04有Nginx安裝包,我們可以安裝替劈。

apt-get -y install nginx

輸入您的Web服務(wù)器的IP地址或主機(jī)名到瀏覽器(例如http://192.168.40.129/)寄雀,你應(yīng)該看到如下頁(yè)面:


在Ubuntu16.04的默認(rèn)nginx的文檔根目錄為/var/www/html

4 安裝 PHP 7

我們可以通過使nginx的PHP工作PHP-FPM(PHP-FPM(FastCGI進(jìn)程管理器)是為任何規(guī)模的網(wǎng)站,尤其是繁忙的網(wǎng)站有用的一些附加功能的替代PHP的FastCGI實(shí)現(xiàn))陨献,我們安裝如下:

apt-get -y install php7.0-fpm

5 配置 nginx

打開配置文件/etc/nginx/nginx.conf:

vi? /etc/nginx/nginx.conf

配置是很容易理解 (你可以點(diǎn)擊官方教程:http://wiki.nginx.org/NginxFullExample或:http://wiki.nginx.org/NginxFullExample2)

首先(這是可選)調(diào)整keepalive_timeout到一個(gè)合理的值:

????[...]

????keepalive_timeout? 2;

????[...]

虛擬主機(jī)服務(wù)器{}容器定義盒犹。默認(rèn)的虛擬主機(jī)是在文件中定義的/etc/nginx/sites-available/default – 讓我們來(lái)修改它,如下所示:

vi /etc/nginx/sites-available/default

????[...]

????server {

????listen 80 default_server;

????listen [::]:80 default_server;

????# SSL configuration

????#

????# listen 443 ssl default_server;

????# listen [::]:443 ssl default_server;

????#

????# Note: You should disable gzip for SSL traffic.

????# See: https://bugs.debian.org/773332

????#

????# Read up on ssl_ciphers to ensure a secure configuration.

????# See: https://bugs.debian.org/765782

????#

????# Self signed certs generated by the ssl-cert package

????# Don't use them in a production server!

????#

????# include snippets/snakeoil.conf;

????root /var/www/html;

????# Add index.php to the list if you are using PHP

????index index.html index.htm index.nginx-debian.html;

????server_name _;

????location / {

????# First attempt to serve request as file, then

????# as directory, then fall back to displaying a 404.

????try_files $uri $uri/ =404;

????}

????# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

????#

????location ~ \.php$ {

????include snippets/fastcgi-php.conf;

????# With php7.0-cgi alone:

????# fastcgi_pass 127.0.0.1:9000;

????# With php7.0-fpm:

????fastcgi_pass unix:/run/php/php7.0-fpm.sock;

????}

????# deny access to .htaccess files, if Apache's document root

????# concurs with nginx's one

????#

????location ~ /\.ht {

????deny all;

????}

????}

????[...]

server_name _;使這是一個(gè)默認(rèn)捕捉所有虛擬主機(jī)(當(dāng)然眨业,你可以同時(shí)喜歡這里www.example.com指定主機(jī)名)急膀。

根目錄 /var/www/html;意味著文檔根目錄/var/www/html.

PHP的重要組成部分位置 ~ \.php$ {}stanza. 取消注釋它來(lái)啟用它。

現(xiàn)在保存文件并重新加載nginx:

service nginx reload

下一步打開/etc/php/7.0/fpm/php.ini…

vi /etc/php/7.0/fpm/php.ini

設(shè)置cgi.fix_pathinfo=0:

????[...]

????; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI.? PHP's

????; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok

????; what PATH_INFO is.? For more information on PATH_INFO, see the cgi specs.? Setting

????; this to 1 will cause PHP CGI to fix its paths to conform to the spec.? A setting

????; of zero causes PHP to behave as before.? Default is 1.? You should fix your scripts

????; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.

????; http://php.net/cgi.fix-pathinfo

????cgi.fix_pathinfo=0

????[...]

重新加載 PHP-FPM:

service php7.0-fpm reload

建立探針文件/var/www/html:

vi /var/www/html/info.php

<?php

phpinfo();

?>

瀏覽器訪問 (e.g.http://192.168.40.129/info.php):


6 .讓 MySQL 獲得 PHP 7支持

先搜索一下PHP支持的模塊:

apt-cache search php7.0

使用下面的命令安裝:

apt-get -y install php7.0-mysql php7.0-curl php7.0-gd php7.0-intl php-pear php-imagick php7.0-imap php7.0-mcrypt php-memcache? php7.0-pspell php7.0-recode php7.0-sqlite3 php7.0-tidy php7.0-xmlrpc php7.0-xsl?php7.0-mbstring?php-gettext

APCu是隨PHP7 PHP Opcache模塊的擴(kuò)展龄捡,它增加了一些兼容性功能的支持APC緩存(例如WordPress的插件緩存)軟件卓嫂。

APCu可以安裝如下:

?apt-get -y install php-apcu

重新加載 PHP-FPM:

service php7.0-fpm reload

刷新http://192.168.1.100/info.php瀏覽器看看模塊安裝情況:


7. 讓 PHP-FPM 使用 TCP 連接

默認(rèn)情況下PHP-FPM監(jiān)聽 /var/run/php/php7.0-fpm.sock. 另外,也可以使 PHP-FPM 試用 TCP 連接聘殖,打開文件/etc/php/7.0/fpm/pool.d/www.conf…

vi /etc/php/7.0/fpm/pool.d/www.conf

修改如下:

????[...]

????;listen = /var/run/php5-fpm.sock

????listen = 127.0.0.1:9000

????[...]

這將使PHP-FPM端口9000偵聽的IP127.0.0.1(本地主機(jī))晨雳。請(qǐng)確保您使用的端口,是不是在你的系統(tǒng)上使用奸腺。

然后重新加載 PHP-FPM:

????php7.0-fpm reload

接下來(lái)通過你的nginx的配置和所有的虛擬主機(jī)餐禁,并更改fastcgi_pass UNIX行:/var/run/php/php7.0-fpm.sock; tofastcgi_pass127.0.0.1:9000;,如下:

????vi /etc/nginx/sites-available/default

????[...]

????location ~ \.php$ {

????include snippets/fastcgi-php.conf;

????# With php7.0-cgi alone:

????fastcgi_pass 127.0.0.1:9000;

????# With php7.0-fpm:

????# fastcgi_pass unix:/run/php/php7.0-fpm.sock;

????}

????[...]

最后,重新加載nginx:

????service nginx reload

OK突照,Nginx的LEMP服務(wù)器安裝完畢帮非。

如果部署時(shí)wordpress會(huì)發(fā)現(xiàn)各種權(quán)限問題(如無(wú)法創(chuàng)建文件,上傳安裝主題插件等)讹蘑。是由于www目錄權(quán)限問題所致末盔。

chown -R www-data.www-data /var/www

即可搞定。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末座慰,一起剝皮案震驚了整個(gè)濱河市陨舱,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌角骤,老刑警劉巖隅忿,帶你破解...
    沈念sama閱讀 219,110評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異邦尊,居然都是意外死亡背桐,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,443評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門蝉揍,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)链峭,“玉大人,你說(shuō)我怎么就攤上這事又沾”滓牵” “怎么了熙卡?”我有些...
    開封第一講書人閱讀 165,474評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)励饵。 經(jīng)常有香客問我驳癌,道長(zhǎng),這世上最難降的妖魔是什么役听? 我笑而不...
    開封第一講書人閱讀 58,881評(píng)論 1 295
  • 正文 為了忘掉前任颓鲜,我火速辦了婚禮,結(jié)果婚禮上典予,老公的妹妹穿的比我還像新娘甜滨。我一直安慰自己,他們只是感情好瘤袖,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,902評(píng)論 6 392
  • 文/花漫 我一把揭開白布衣摩。 她就那樣靜靜地躺著,像睡著了一般捂敌。 火紅的嫁衣襯著肌膚如雪艾扮。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,698評(píng)論 1 305
  • 那天占婉,我揣著相機(jī)與錄音仙蚜,去河邊找鬼盒延。 笑死全谤,一個(gè)胖子當(dāng)著我的面吹牛椭懊,可吹牛的內(nèi)容都是我干的恳啥。 我是一名探鬼主播毛萌,決...
    沈念sama閱讀 40,418評(píng)論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼肖抱,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼灸促!你這毒婦竟也來(lái)了滞磺?” 一聲冷哼從身側(cè)響起升薯,我...
    開封第一講書人閱讀 39,332評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎击困,沒想到半個(gè)月后涎劈,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,796評(píng)論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡阅茶,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,968評(píng)論 3 337
  • 正文 我和宋清朗相戀三年蛛枚,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片脸哀。...
    茶點(diǎn)故事閱讀 40,110評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡蹦浦,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出撞蜂,到底是詐尸還是另有隱情盲镶,我是刑警寧澤侥袜,帶...
    沈念sama閱讀 35,792評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站溉贿,受9級(jí)特大地震影響枫吧,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜宇色,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,455評(píng)論 3 331
  • 文/蒙蒙 一九杂、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧代兵,春花似錦尼酿、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,003評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至思币,卻和暖如春鹿响,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背谷饿。 一陣腳步聲響...
    開封第一講書人閱讀 33,130評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工惶我, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人博投。 一個(gè)月前我還...
    沈念sama閱讀 48,348評(píng)論 3 373
  • 正文 我出身青樓绸贡,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親毅哗。 傳聞我的和親對(duì)象是個(gè)殘疾皇子听怕,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,047評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 1. Nginx的模塊與工作原理 Nginx由內(nèi)核和模塊組成,其中虑绵,內(nèi)核的設(shè)計(jì)非常微小和簡(jiǎn)潔尿瞭,完成的工作也非常簡(jiǎn)單...
    rosekissyou閱讀 10,215評(píng)論 5 124
  • 更改ip和dnsVi /etc/sysconfig/network-scripts/ifcfg-eth0vi /...
    Xwei_閱讀 1,822評(píng)論 0 3
  • 起由 由于最近的“凈網(wǎng)”行動(dòng),很多網(wǎng)盤包括我一直在使用的快盤關(guān)停翅睛,仍然存活的百度云声搁、360云等又沒有l(wèi)inux客戶...
    leoatchina閱讀 7,588評(píng)論 1 25
  • 最近要說(shuō)什么電視劇最紅,非《那年花開月正圓》莫屬捕发。播出僅僅十九集疏旨,就已經(jīng)花式上熱搜,領(lǐng)跑衛(wèi)視黃金檔爬骤,豆瓣獲得8.4...
    波米諾不知道閱讀 463評(píng)論 0 0
  • 努力不去想你 不想關(guān)于你的一切 可看見你的動(dòng)態(tài) 忍不住傷感 我并不在乎自己 究竟多傷痕累累 可我在乎今后你有誰(shuí)陪
    二零丶閱讀 232評(píng)論 0 1