国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 操作系統 > 正文

LNMP環境搭建

2024-06-28 13:18:59
字體:
來源:轉載
供稿:網友
LNMP環境搭建

LNMP環境搭建

linux + Nginx + MySQL + php

PHP是一種腳本語言,當前中國乃至世界上使用PHP語言開發的網站非常普遍

Nginx是一個web服務軟件,和apache是一類軟件,目前使用nginx的企業越來越多。

MySQL是當前最為流行的小型關系型數據庫

和LAMP不同的是LNMP中的N指的是Nginx(類似于Apache的一種web服務軟件)其他都一樣。目前這種環境應用的也是非常之多。Nginx設計的初衷是提供一種快速高效多并發的web服務軟件。在靜態頁面的處理上Nginx的確勝Apache一籌,然而在動態頁面的處理上Nginx并不比Apache有多少優勢。但是,目前還是有很多愛好者對Nginx比較熱衷,隨著Nginx的技術逐漸成熟,它在web服務軟件領域的地位越來越高。

安裝MySQL

步驟和LAMP中的mysql安裝步驟是一模一樣的。

1,下載mysql到/usr/local/src/

[root@CentOS100src]#wget http://syslab.comsenz.com/downloads/linux/mysql-5.1.40-linux-x86_64-icc-glibc23.tar.gz

這是64位的包,32位系統要用32位的包:

http://syslab.comsenz.com/downloads/linux/mysql-5.1.40-linux-i686-icciglibc23.tar.gz

2, 解壓下載的包

[root@CentOS100 src]# tar -xvzf mysql-5.1.40-linux-x86_64-icc-glibc23.tar.gz

3,把解壓的包移動到/usr/local/并改名為mysql

[root@CentOS100 src]# mv mysql-5.1.40-linux-x86_64-icc-glibc23 /usr/local/mysql

4,建立mysql用戶

[root@CentOS100 src]# useradd -s /sbin/nologin mysql

5,建立mysql數據庫文件夾,并修改所屬主和所屬組

[root@CentOS100 mysql]# mkdir -p /data/mysql ; chown -R mysql:mysql /data/mysql

6,初始化數據庫

[root@CentOS101 mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql

./scripts/mysql_install_db 這個文件是數據庫文件夾里的文件,--user 定義數據庫的所屬主, --datadir 定義數據庫安裝到哪里,建議放到大空間的分區上,這個目錄需要自行創建,執行后如果看到兩個 “OK” 說明執行正確。出問題可根據問題來解決(最后附問題解決辦法!)

7, 拷貝配置文件

[root@CentOS101 mysql]# cp support-files/my-large.cnf /etc/my.cnf

8, 拷貝啟動腳本文件并修改其屬性

[root@CentOS101 mysql]# cp support-files/mysql.server /etc/init.d/mysqld

[root@CentOS101 mysql]# chmod 755 /etc/init.d/mysqld

9, 修改啟動腳本

[root@CentOS101 mysql]# vim /etc/init.d/mysqld

需要修改的地方有 “datadir=/data/mysql” (前面初始化數據庫時定義的目錄)

把啟動腳本加入系統服務項,并設定開機啟動,啟動mysql

[root@CentOS101 mysql]# chkconfig --add mysqld

[root@CentOS101 mysql]# chkconfig mysqld on

[root@CentOS101 mysql]# service mysqld start

如果啟動不了,到 /data/mysql/ 下查看錯誤日志,這個日志通常是主機名.err. 檢查mysql是否啟動的命令為:

[root@CentOS101 mysql]# ps aux |grep mysqld

安裝php

這里要先聲明一下,針對Nginx的php安裝和針對apache的php安裝是有區別的,因為Nginx中的php是以fastcgi的方式結合nginx的,可以理解為nginx代理了php的fastcgi,而apache是把php作為自己的模塊來調用的。在LNMP中,安裝PHP之前必需先安裝mysql,其它的沒有先后順序。php官方下載地址: http://www.php.net/downloads.php

1.下載php

[root@CentOS5 src]# wget http://am1.php.net/distributions/php-5.3.27.tar.gz

2.解壓php

[root@CentOS5 src]# tar -xvzf php-5.3.27.tar.gz

3.創建相關賬戶

[root@localhost src]# useradd -s /sbin/nologin php-fpm

4.配置編譯參數

[root@localhost src]# cd php-5.3.27

[root@localhost php-5.3.27]# make clean

此命令為了清除之前安裝PHP時生成的一些文件,避免與之前的編譯混淆。

[root@localhost php-5.3.27]# ./configure --PRefix=/usr/local/php_nginx --with-config-file-path=/usr/local/php_nginx/etc --enable-fpm --with-fpm-user=php-fpm --with-fpm-group=php-fpm --with-mysql=/usr/local/mysql --with-mysql-sock=/tmp/mysql.sock --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-ftp --enable-mbstring --enable-exif --enable-zend-multibyte --disable-ipv6 --with-pear --with-curl --with-openssl

配置參數里和之前的有些不同,--enable-fpm必需加上,不加無法生成fpm文件。--with-config-file-path是指定php配置文件的路徑,即php.ini的路徑。

錯誤信息:

configure: error: Please reinstall the libcurl distribution -

easy.h should be in <curl-dir>/include/curl/

解決辦法:

yum install -y libcurl-devel

5.編譯php

[root@localhost php-5.3.27]# make

在這一步,通常會遇到一些錯誤

/usr/bin/ld: cannot find -lltdl

collect2: ld returned 1 exit status

make: *** [sapi/fpm/php-fpm] 錯誤 1

解決辦法:

yum install -y libtool-ltdl-devel

6.安裝php

[root@localhost php-5.3.27]# make install

以上每一個步驟,如果沒有完全執行正確,那么下一步是無法進行的,是否還記得判斷執行是否正確的方法? 使用 echo $? 看結果是否為 “0” , 如果不是,就是沒有執行正確。

7.拷貝配置文件

[root@localhost php-5.3.27]# cp php.ini-production /usr/local/php_nginx/etc/php.ini

[root@localhost php-5.3.27]# cp sapi/fpm/php-fpm.conf /usr/local/php_nginx/etc/

保存配置文件后,檢驗配置是否正確的方法為:

/usr/local/php_nginx/sbin/php-fpm -t

如果出現諸如 “test is successful” 字樣,說明配置沒有問題。

8.啟動php-fpm

先拷貝啟動文件 cp /usr/local/src/php-5.3.27/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

chmod 755 /etc/init.d/php-fpm

service php-fpm start

如果想讓它開機啟動,執行:

chkconfig php-fpm on

檢測是否啟動:

ps aux |grep php-fpm

netstat -lnp | grep php

tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 11265/php-fpm

安裝nginx

Nginx官方網站(http://nginx.org), 從官方網站可以看到nginx更新速度很快,這也反映了一個事實,目前使用nginx跑網站的公司或者個人越來越多。

(近期nginx報出一個安全漏洞,影響版本很廣 CVE-2013-4547,所以之前的老版本都需要升級一下, 1.4.4, 1.5.7以及往后版本沒有問題)

1.下載nginx

cd /usr/local/src/

wget http://nginx.org/download/nginx-1.6.2.tar.gz

2.解壓nginx

tar -xvzf nginx-1.6.2.tar.gz

3.配置編譯參數

cd nginx-1.4.4

./configure --prefix=/usr/local/nginx --with-pcre

編輯過程中出錯:

checking for PCRE library ... not found

checking for PCRE library in /usr/local/ ... not found

checking for PCRE library in /usr/include/pcre/ ... not found

checking for PCRE library in /usr/pkg/ ... not found

checking for PCRE library in /opt/local/ ... not found

缺少pcre ,pcre用來支持正則表達式,解決方法:

yum install -y pcre-devel

4.編譯nginx

make

5.安裝nginx

make install

因為nginx比較小,所以很快就會安裝完,而且也不會出什么錯誤。

6. 啟動nginx,nginx很小巧,本身沒有啟動服務文件。

/usr/local/nginx/sbin/nginx

查看:ps aux | grep nginx

netstat -lnp | grep nginx

測試:從瀏覽器直接訪問本機IP

7.更改nginx配置

配置文件位置:/usr/local/nginx/conf/nginx.conf

vim /usr/local/nginx/conf/nginx.conf

修改:

events {

worker_connections 4096;

}

這個值一般調成很大的數。

“server { }”相關配置就是虛擬主機,server里面的“location”需要改:

location / {

root /web/123;

index index.html index.htm index.php;

}

root指定虛擬主機的目錄,這里換成LAMP時安裝的discuz的目錄。把下面location和php相關的內容打開,并修改:

location ~ /.php$ {

root /web/123;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME /web/123$fastcgi_script_name;

include fastcgi_params;

保存配置后,先檢驗一下配置文件是否有錯誤存在:

/usr/local/nginx/sbin/nginx -t

如果顯示內容如下,則配置正確,否則需要根據錯誤提示修改配置文件:

nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok

nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

重新加載nginx:

/usr/local/nginx/sbin/nginx -s reload

如果不能啟動,請查看 “/usr/local/nginx/logs/error.log” 文件


上一篇:10、WGET

下一篇:解決SQL死循環問題

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 盐亭县| 昌乐县| 吉木乃县| 临洮县| 昭觉县| 吉安县| 梁山县| 五河县| 楚雄市| 石河子市| 宁都县| 托克逊县| 锡林郭勒盟| 教育| 襄汾县| 察隅县| 弥渡县| 满洲里市| 渭南市| 阿克| 永和县| 武清区| 光泽县| 陆川县| 荥经县| 千阳县| 安乡县| 缙云县| 康保县| 前郭尔| 呼图壁县| 青川县| 正定县| 开封县| 横山县| 东乌珠穆沁旗| 泰兴市| 冀州市| 大荔县| 资源县| 万州区|