centos7下搭建lnmp环境包含yum源直接安装和源码编译安装,以及php5.3和php7.6版本
LNMP環(huán)境的搭建
- 一、yum源直接搭建
- 1.安裝epel源
- 2.安裝mariadb
- 初始化mariadb
- 3.安裝php模塊
- 配置php-fpm
- 3.安裝nginx
- 配置nginx
- 4.測試環(huán)境是否搭建成功
- 二、源碼版LNMP環(huán)境的搭建
- 1.安裝mysql
- 下載mysql5.7二進制包
- 安裝mysql所需要的庫
- 解壓并改名,添加環(huán)境變量
- 創(chuàng)建mysql配置文件
- 創(chuàng)建mysql用戶,配置文件所用到的目錄,并初始化
- 配置啟動腳本
- 啟動mysql
- 修改mysql的密碼
- 2.安裝php
- 下載php5.6源碼包
- 下載php7.3源碼包
- 安裝編譯工具以及所需要的依賴
- 編譯前配置
- 編譯安裝
- 配置php
- php安裝完成
- 3.安裝nginx
- 下載nginx源碼包
- 編譯前配置
- 編譯安裝
- 添加環(huán)境變量
- 修改nginx配置文件
- 測試nginx配置文件是否正確
- 啟動nginx
- 4.測試php環(huán)境是否能夠正常解析
一、yum源直接搭建
1.安裝epel源
CentOS自帶的網絡源有些軟件包沒有,epel源包含更多的軟件包
yum install -y epel-release2.安裝mariadb
yum install -y mariadb mariadb-server初始化mariadb
mysql_secure_installation啟動mariadb,并設為開機自啟
3.安裝php模塊
yum install -y php php-mysql php-gd libjpeg\* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-bcmath php-mhash php-fpm php-pecl-zendopcache配置php-fpm
vim /etc/php-fpm.d/www.conflisten = /var/run/php-fpm/fastcgi.socketlisten.owner = nginxlisten.group = nginxuser = nginxgroup = nginxphp_flag[display_errors] = on創(chuàng)建nginx用戶,讓nginx來管理php-fpm
groupadd nginx && useradd -r -g nginx -s /sbin/nologin nginx修改權限
chown -R nginx.nginx /var/run/php-fpm啟動php-fpm,并設為開機自啟
systemctl start php-fpm && systemctl enable php-fpm3.安裝nginx
yum install -y nginx配置nginx
vim /etc/nginx/nginx.confserver {listen 80 default_server;listen [::]:80 default_server;server_name localhost;root /usr/share/nginx/html;index index.php index.html; ...location ~ \.php$ {fastcgi_pass unix:/var/run/php-fpm/fastcgi.socket;fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;include fastcgi_params;} }啟動nginx,并設為開機自啟
systemctl start nginx && systemctl enable nginx4.測試環(huán)境是否搭建成功
刪除nginx家目錄的主頁文件,并添加php測試文件
rm -rf /usr/share/nginx/html/index.html && echo "<?php phpinfo(); ?>" > /usr/share/nginx/html/index.php打開瀏覽器,輸入你的ip地址,出現(xiàn)php版本界面,環(huán)境搭建完成
二、源碼版LNMP環(huán)境的搭建
1.安裝mysql
mysql官網:http://www.mysql.org
下載mysql5.7二進制包
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.26-el7-x86_64.tar.gz安裝mysql所需要的庫
yum install -y perl libao-devel解壓并改名,添加環(huán)境變量
tar -xf mysql-5.7.26-el7-x86_64.tar.gz -C /usr/local && \ mv /usr/local/mysql-5.7.26-el7-x86_64/ /usr/local/mysql && \ echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile && \ source /etc/profile創(chuàng)建mysql配置文件
創(chuàng)建配置文件目錄
mkdir /usr/local/mysql/etc創(chuàng)建配置文件
vim /usr/local/mysql/etc/my.cnf [mysqld] user=mysql port=3306 datadir=/var/lib/mysql pid-file=/var/run/mysql/mysql.pid socket=/var/lib/mysql/mysql.sock[mysqld_safe] log-error=/var/log/mysql/mysql_err.log[client] socket=/var/lib/mysql/mysql.sock創(chuàng)建mysql用戶,配置文件所用到的目錄,并初始化
groupadd mysql && useradd -r -g mysql -s /sbin/nologin mysql創(chuàng)建配置文件所用到的目錄
mkdir -p /var/log/mysql /var/lib/mysql /var/run/mysql改變所屬用戶
chown -R mysql.mysql /var/log/mysql /var/lib/mysql /var/run/mysql初始化
mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/var/lib/mysql ... ...root@localhost: _R#f2oxqp1oa初始化后會生成隨機密碼,注意保存
配置啟動腳本
復制啟動腳本
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql修改啟動腳本
vim /etc/init.d/mysqlbasedir=/usr/local/mysqldatadir=/var/lib/mysqlconf=$basedir/etc/my.cnf啟動mysql
/etc/init.d/mysql start登錄mysql
mysql -uroot -p_R#f2oxqp1oa修改mysql的密碼
重啟mysql
/etc/init.d/mysql restart然后就可以不要密碼直接登錄,登錄后修改密碼
mysql -uroot mysql> update mysql.user set authentication_string=password("root") where user="root" and host="localhost";修改成功后記得把[mysqld]文件的內容還原并重新啟動
2.安裝php
php官網:https://www.php.net/
下載php5.6源碼包
wget https://www.php.net/distributions/php-5.6.40.tar.gz下載php7.3源碼包
wget https://www.php.net/distributions/php-7.3.6.tar.gz2個版本的一些配置參數(shù)有改變,配置時一些選項在php5.6以上的版本被刪除
安裝編譯工具以及所需要的依賴
首先安裝epel源
yum install -y epel-release安裝編譯工具
yum install -y gcc gcc-c++ openssl openssl-devel 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編譯前配置
php5.6版本的配置
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --with-fpm-user=php-fpm --with-fpm-group=php-fpm --with-mysql=/usr/local/mysql --with-mysql-sock=/var/lib/mysql/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 --disable-ipv6 --with-pear --with-curl --with-opensslphp7.3版本的配置
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --with-fpm-user=php-fpm --with-fpm-group=php-fpm --enable-mysqlnd --with-mysqli --with-pdo-mysql=mysqlnd --with-mysql-sock=/var/lib/mysql/mysql.sock --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --enable-soap --enable-ftp --enable-mbstring --enable-exif --disable-ipv6 --with-pear --with-curl --with-openssl二者的區(qū)別:
php7不再使用mysql的庫來支持mysql的連接,而是啟用了mysqlnd來支持,所以php7的編譯已經不再使用–with-mysql參數(shù)指定mysql的安裝位置了,若想支持mysql,需要設置–enable-mysqlnd,–with-mysqli和–with-pdo-mysql=mysqlnd參數(shù)
參數(shù)解析:
–prefix=/usr/local/php --指定php安裝路徑
–with-config-file-path=/usr/local/php/etc --指定php配置文件存放路徑
–enable-fpm --是否開啟php-fpm,必須加入該參數(shù)
–with-fpm-user=php-fpm --執(zhí)行的用戶
–with-fpm-group=php-fpm --執(zhí)行的組
–with-mysql=/usr/local/mysql --mysql的安裝路徑
–with-mysql-sock=/var/lib/mysql/mysql.sock --mysql的socket文件路徑
等待完成
可以通過在命令行界面輸入echo $?,如果返回值為0,代表配置成功
編譯安裝
make && make install通過輸入echo $?,來判斷編譯安裝是否成功
配置php
復制php.ini文件
cp php.ini-production /usr/local/php/etc/php.ini新增php-fpm.conf配置文件
vim /usr/local/php/etc/php-fpm.conf [global] pid = /var/run/php/php-fpm.pid error_log = /var/log/php/php-fpm_err.log [www] listen = /tmp/php-fpm.sock listen.mode = 666 user = nginx group = nginx pm = dynamic pm.max_children = 50 pm.start_servers = 20 pm.min_spare_servers = 5 pm.max_spare_servers = 35 pm.max_requests = 500 rlimit_files = 1024創(chuàng)建配置文件中指定的目錄:
mkdir /var/log/php /var/run/php -p創(chuàng)建php執(zhí)行用戶:
groupadd nginx && useradd -r -s /usr/sbin/nologin -g nginx nginx修改目錄權限:
chown -R nginx.nginx /var/log/php /var/run/php拷貝php-fpm啟動文件并修改:
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm vim /etc/init.d/php-fpm php_fpm_PID=/var/run/php/php-fpm.pid --改為你指定的pid文件路徑賦予啟動文件執(zhí)行權限
chmod 755 /etc/init.d/php-fpm測試php-fpm.conf語法是否正確
/usr/local/php/sbin/php-fpm -t ... /usr/local/php/etc/php-fpm.conf test is successful啟動php
/etc/init.d/php-fpm start Starting php-fpm done檢查php-fpm進程
ps -ef | grep php-fpmphp安裝完成
3.安裝nginx
nginx官網:http://nginx.org/
下載nginx源碼包
這里采用nginx1.16穩(wěn)定版源碼包
wget http://nginx.org/download/nginx-1.16.0.tar.gz解壓
tar xf nginx-1.16.0.tar.gz -C /usr/src/編譯前配置
cd /usr/src/nginx-1.16.0/ # 添加支持ssl證書模塊 ./configure --with-http_ssl_module # 查看配置是否成功 echo $? 0編譯安裝
make && make install echo $? 0添加環(huán)境變量
echo "export PATH=$PATH:/usr/local/nginx/sbin" >> /etc/profile && source /etc/profile修改nginx配置文件
vim /usr/local/nginx/conf/nginx.conf http { ...server {listen 80;server_name localhost;index index.html index.htm index.php;root /usr/local/nginx/html;location ~ \.php$ {include fastcgi_params;fastcgi_pass unix:/tmp/php-fpm.sock;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;}} }測試nginx配置文件是否正確
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
nginx4.測試php環(huán)境是否能夠正常解析
刪除nginx家目錄的主頁文件,并添加php測試文件
rm -rf /usr/share/nginx/html/index.html && echo "<?php phpinfo(); ?>" > /usr/share/nginx/html/index.php打開瀏覽器,輸入你的ip地址,出現(xiàn)php版本界面,環(huán)境搭建完成
總結
以上是生活随笔為你收集整理的centos7下搭建lnmp环境包含yum源直接安装和源码编译安装,以及php5.3和php7.6版本的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 做事先做人 做人先立德
- 下一篇: 利用PHP GD库生成位图