linux+Nginx + Mysql + PHP 搭配可以說目前使用比較廣泛
那要想在這臺剛安裝好系統的服務器上配置這環境,有多種方式
一、傻瓜式一鍵安裝
爲了讓大家安裝環境能簡單,方便。有人把它們集成了一個包。
1、LNMP一鍵安裝包
網址:lnmp.org,裏面介紹一些要求,功能等
進入到安裝頁面說明,找到相關的安裝說明,運行,然後一步一步按照操作就行了,比較簡單
2、使用寶塔,這是更加傻瓜,方便的一款工具,操作服務,只需在網站後臺,點點鼠標,就能完成
網址:bt.cn
找到,linux安裝,裏面有各個系統的安裝命令,運行與你係統相關的命令
如centos
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
安裝成功後,會顯示給你登陸地址和用戶名密碼
登陸後
可以選擇你要安裝的環境的軟件和版本等。等安裝結束,你的linux+Nginx + Mysql + PHP環境也就配成功了
這裏我們不多說,那如果手工一步一步的搭配環境的。
之前我們學習了linux安裝軟件的幾種方法,現在我們來試試
二、手工搭建環境
查看是否已安裝wget:
rpm -qa wget
否則安裝:
yum install wget
- 查看是否已安裝編譯器:
rpm -qa gcc
否則安裝:
yum install gcc gcc-c++
安裝Nginx
- 安裝nginx依賴包
nginx的Rewrite模塊和HTTP核心模塊會使用到PCRE正則表達式語法:
yum -y install pcre pcre-devel
nginx的各種模塊中需要使用gzip壓縮:
yum -y install zlib zlib-devel
安全套接字層密碼庫:
yum -y install openssl openssl-devel
- 下載nginx包並解壓(到/usr/local/src目錄中)
cd /usr/local/src
wget http://nginx.org/download/nginx-1.1.10.tar.gz
tar -zxvf nginx-1.1.10.tar.gz
- 編譯安裝(到/usr/local/nginx目錄中)
cd nginx-1.1.10
./configure --prefix=/usr/local/nginx
make
make install
- 創建並設置nginx運行賬號:
groupadd nginx
useradd -M -g nginx -s /sbin/nologin nginx
cd /usr/local/nginx/conf
vim nginx.conf,設置user參數如下:
user nginx nginx
/usr/local/nginx/sbin/nginx -t
- 啓動nginx
/usr/local/nginx/sbin/nginx
5.訪問站點IP,出現下圖說明安裝成功
如果不能訪問,可能是防火牆的原因,增加80端口,或關閉防火牆
安裝Mysql
- 卸載已有mysql
查看是否已安裝mysql:
rpm -qa mysql
有則卸載:
rpm -e mysql // 普通刪除模式
rpm -e --nodeps mysql // 強力刪除模式,如果使用上面命令刪除時,提示有依賴的其它文件,則用該命令可以對其進行強力刪除
使用 yum 命令安裝 MySQL,安裝前我們需要先去官網下載 Yum 資源包
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum update
yum install mysql-server
權限設置:
chown mysql:mysql -R /var/lib/mysql
初始化 MySQL:
mysqld --initialize
啓動 MySQL:
service mysqld start
查看 MySQL 運行狀態:
service mysqld status
驗證mysql 安裝成功,查看版本號
mysqladmin --version
你可以在 MySQL Client(Mysql客戶端) 使用 mysql 命令連接到 MySQL 服務器上,默認情況下 MySQL 服務器的登錄密碼爲空,所以本實例不需要輸入密碼。
命令如下:mysql
以上命令執行後會輸出 mysql>提示符,這說明你已經成功連接到Mysql服務器上,你可以在 mysql> 提示符執行SQL命令:
mysql> SHOW DATABASES;
修改mysql root的密碼爲:123456
[root@host]# mysqladmin -u root password "123456"
再登 陸數據庫
[root@host]# mysql -u root -p
Enter password:***
mysql 完成成功
安裝PHP
- 安裝php依賴包
yum install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel
2,下載
wget https://www.php.net/distributions/php-7.2.17.tar.gz
tar -zxvf php-7.2.17.tar.gz
- 編譯安裝(到/usr/local/php目錄)
cd php-7.2.0
./configure --prefix=/usr/local/php --disable-fileinfo --enable-fpm --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-openssl --with-zlib --with-curl --enable-ftp --with-gd --with-xmlrpc --with-jpeg-dir --with-png-dir --with-freetype-dir --enable-gd-native-ttf --enable-mbstring --with-mcrypt=/usr/local/libmcrypt --enable-zip --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-mysql-sock=/var/lib/mysql/mysql.sock --without-pear --enable-bcmath
(注意:--with-mcrypt參數指定的是libmcrypt的安裝目錄。Php7不再使用mysql的庫來支持mysql的連接,而是啓用了mysqlnd來支持,所以php7的編譯已經不再使用--with-mysql參數指定mysql的安裝位置了,若想支持mysql,需要設置--enable-mysqlnd、--with-mysqli和--with-pdo-mysql=mysqlnd參數,--with-mysql-sock指定的是編譯mysql時-DMYSQL_UNIX_ADDR參數指定的文件)
make(此過程需花費大概20分鐘)
make install
- 將php包解壓目錄中的配置文件放置到正確位置(configure命令中的--with-config-file-path設置的位置)
cp php.ini-development /etc/php.ini
- 創建並設置php-fpm運行賬號
groupadd www-data
useradd -M -g www-data -s /sbin/nologin www-data
cd /usr/local/php/etc
cp php-fpm.conf.default php-fpm.conf
vim php-fpm.conf
發現搜索不到“user”(設置運行賬號的位置),但發現文件的最後一行:
所以:
cd php-fpm.d
cp www.conf.default www.conf(否則include匹配不到文件)
vim www.conf
搜索“user”設置運行賬號:
user=www-data
group=www-data
- 配置nginx支持php
vim /usr/local/nginx/conf/nginx.conf
修改完成之後記得重啓nginx服務:
service nginx start
- 設置php-fpm爲系統服務:
vim /etc/systemd/system/php-fpm.service
文件內容:
[Unit]
Description=php-fpm
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/php/sbin/php-fpm
PrivateTmp=True
[Install]
WantedBy=multi-user.target
- 設置php-fpm服務開機自啓動:
systemctl enable php-fpm.service
- 啓動php-fpm:
systemctl start php-fpm.service
查看是否啓動成功:
ps aux | grep php-fpm
10.寫一個php腳本測試nginx是否已支持php,php是否已支持mysql。
<?php
phpinfo();
?>
保存爲index.php,然後打開網址
成功
至此,LNMP搭建完成!