CentOS6系統原始碼安裝LNMP環境詳解
一、安裝nginx
以下命令均在root許可權下執行,普通使用者可通過su
命令切換
1.安裝依賴
yum install gcc-c++ yum install pcre pcre-devel yum install openssl openssl-devel
2.下載原始碼
wget http://nginx.org/download/nginx-1.8.1.tar.gztar -zxvf nginx-1.8.1.tar.gzcd nginx-1.8.1
3.建立nginx使用者
useradd -M -s /sbin/nologin nginx
-M 表示不建立home目錄
-s 指定shell為不登入
4.配置編譯
./configure
–prefix=/usr/local/nginx
–with-http_stub_status_module
–with-http_ssl_module
–user=nginx
–group=nginx
make && make install
5.啟動nginx
進入nginx的安裝目錄,即上面–prefix引數指定的
cd /usr/local/nginx sbin/nginx
開啟瀏覽器即可訪問了。
訪問地址為本地地址
訪問地址為:192.168.253.131
注意如果是遠端瀏覽器不能訪問,可能是防火牆的80埠預設沒有開啟,需要開啟這個埠。
開啟/etc/sysconfig/iptables,在-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
下面新增:-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
儲存,並執行:service iptables restart
6.啟動關閉nginx命令
檢查nginx配置檔案是否正確
/usr/local/nginx/sbin/nginx -t
啟動nginx
/usr/local/nginx/sbin/nginx
關閉nginx
/usr/local/nginx/sbin/nginx -s stop 或 pkill nginx
重啟nginx
/usr/local/nginx/sbin/nginx -s reload
7.新增系統服務
當然也可以將可以將nginx作為系統服務管理,將下面啟動指令碼(參考:nginx.com)加入/etc/init.d/nginx中,賦予可執行許可權。
#!/bin/sh
#
# nginx – this script starts and stops the nginx daemin
#
# chkconfig: – 85 15
# description: Nginx is an HTTP(S) server, HTTP(S) reverse
# proxy and IMAP/POP3 proxy server
# processname: nginx
# config: /usr/local/nginx/conf/nginx.conf
# pidfile: /usr/local/nginx/logs/nginx.pid
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ “$NETWORKING” = “no” ] && exit 0
nginx=”/usr/local/nginx/sbin/nginx”
prog=$(basename $nginx)
NGINX_CONF_FILE=”/usr/local/nginx/conf/nginx.conf”
lockfile=/var/lock/subsys/nginx
start() {
[ -x $nginx ] || exit 5
[ -f $NGINX_CONF_FILE ] || exit 6
echo -n $”Starting $prog: “
daemon $nginx -c $NGINX_CONF_FILE
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}
stop() {
echo -n $”Stopping $prog: “
killproc $prog -QUIT
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}
restart() {
configtest || return $?
stop
start
}
reload() {
configtest || return $?
echo -n $”Reloading $prog: “
killproc $nginx -HUP
RETVAL=$?
echo
}
force_reload() {
restart
}
configtest() {
$nginx -t -c $NGINX_CONF_FILE
}
rh_status() {
status $prog
}
rh_status_q() {
rh_status >/dev/null 2>&1
}
case “$1” in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart|configtest)
$1
;;
reload)
rh_status_q || exit 7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q || exit 0
;;
*)
echo $”Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}”
exit 2
esac
然後,可以使用如下命令:
service nginx {start|stop|status|restart|reload|configtest}
也可以將nginx服務加入開機啟動:
chkconfig nginx on
二、安裝mysql
1.安裝依賴
yum install make cmake gcc-c++ bison-devel ncurses-devel
有的依賴包可能已經安裝過了,可以用rpm -qa package-name
查詢是否已經安裝。
2.下載原始碼
wget https://cdn.mysql.com//Downloads/MySQL-5.5/mysql-5.5.54.tar.gz
tar -zxvf mysql-5.5.49.tar.gz
cd mysql-5.5.49.tar.gz
3.建立mysql使用者
useradd -M -s /sbin/nologin mysql
4.配置編譯
cmake .
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_DATADIR=/usr/local/mysql/data
-DSYSCONFDIR=/etc
-DWITH_MYISAM_STORAGE_ENGINE=1
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_MEMORY_STORAGE_ENGINE=1
-DWITH_READLINE=1
-DENABLE_LOCAL_INFILE=1
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
-DEXTRA_CHARSETS=all
-DWITH_PARTITION_STORAGE_ENGINE=1
-DMYSQL_UNIX_ADDR=/usr/local/mysql/data/mysql.sock
-DMYSQL_TCP_PORT=3306
-DMYSQL_USER=mysql
make && make install
5.配置mysql
修改/usr/local/mysql許可權
chown -R mysql:mysql /usr/local/mysql
複製配置檔案,複製前注意檢視/etc目錄下是否有my.cnf檔案,如果有,先將其備份為其他檔名
cp /etc/my.cnf /etc/my.cnf.backup
cd /usr/local/mysql
cp support-files/my-small.cnf /etc/my.cnf
執行初始化配置指令碼,建立系統自帶的資料庫和表
chmod +x scripts/mysql_install_db
scripts/mysql_install_db
–basedir=/usr/local/mysql
–datadir=/usr/local/mysql/data
–user=mysql
6.新增系統服務
複製服務指令碼到/etc/init.d目錄,並設定開機啟動
cp support-files/mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql
chkconfig mysql on
#啟動mysql
service mysql start
#停止mysql
service mysql stop
#重啟mysql
service mysql restart
7.命令列登陸mysql
首先將mysql登陸命令的路徑加入PATH中,修改/etc/profile檔案,在檔案末尾加上:
PATH=/usr/local/mysql/bin:$PATHexport PATH
關閉檔案,然後執行source /etc/profile
讓配置立即生效
登陸mysql並修改root使用者密碼
mysql -u rootset password = password(`123456`);
下次登陸時就需要密碼。
mysql -u root -p
注意
如果遠端登陸mysql出錯,可能是防火牆的3306埠預設沒有開啟。同上面nginx開啟防火牆80埠一樣,在/etc/sysconfig/iptables檔案加入:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
儲存,並執行:service iptables restart
三、安裝php
1.安裝依賴
yum install libxml2-devel openssl-devel libcurl-devel gd-devel libpng-devel freetype-devel libjpeg-devel zlib-devel
解決yum無法安裝libiconv庫
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz tar -zxvf libiconv-1.14.tar.gz cd libiconv-1.14./configure --prefix=/usr/local/libiconv make && make install
另外,centos預設的yum源裡沒有libmcrypt-devel,這裡使用阿里雲的yum源安裝。
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
yum install libmcrypt-devel mcrypt mhash
2.下載原始碼
wget -O php-5.6.19.tar.gz http://cn2.php.net/get/php-5.6.19.tar.gz/from/this/mirror
tar -zxvf php-5.6.19.tar.gz
cd php-5.6.19
3.配置編譯
./configure
–prefix=/usr/local/php
–with-mysql=mysqlnd
–with-mysqli=mysqlnd
–with-pdo-mysql=mysqlnd
–enable-opcache
–enable-fpm
–with-iconv-dir=/usr/local/libiconv
–with-freetype-dir
–with-jpeg-dir
–with-png-dir
–with-zlib
–with-libxml-dir=/usr
–enable-xml
–disable-rpath
–enable-bcmath
–enable-shmop
–enable-sysvsem
–enable-inline-optimization
–with-curl
–with-curlwrappers
–enable-mbregex
–with-mcrypt
–with-gd
–enable-gd-native-ttf
–with-openssl
–with-mhash
–enable-pcntl
–enable-sockets
–with-xmlrpc
–enable-zip
–enable-soap
make && make install
這裡特別說明下mysqlnd,mysqlnd是php官方自帶的mysql驅動,這樣安裝php不需要提前安裝mysql了。像--with-mysql=/usr/local/mysql
這樣使用的是mysql官方自帶的mysql驅動,需要提前安裝mysql。
4.啟動php
首先將php命令路徑加入PATH中,修改/etc/profile檔案,在檔案末尾加上:
PATH=/usr/local/php/bin:$PATH
export PATH
關閉檔案,然後執行source /etc/profile
讓配置立即生效
然後複製原始碼目錄中的php.ini-development到/usr/local/php/lib/php.ini
cp php.ini-development /usr/local/php/lib/php.ini
5.啟動php-fpm並新增系統服務
PHP-FPM是一個PHP FastCGI管理器,主要用於配合web伺服器處理php檔案。
php-fpm命令位於/usr/local/php/sbin目錄下,啟動指令碼在原始碼目錄的sapi/fpm子目錄下。複製php-fpm啟動指令碼到/etc/init.d/php-fpm,設定開機啟動。
複製/usr/local/php/etc/php-fpm.conf.default到/usr/local/php/etc/php-fpm.conf
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
chkconfig php-fpm on
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
#啟動php-fpm
service php-fpm start
#停止php-fpm
service php-fpm stop
#重啟php-fpm
service php-fpm restart
四、測試
為了讓nginx能夠處理php,需要修改nginx的配置檔案(nginx.conf),將下面的配置:
#location ~ .php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
修改為:
location ~ .php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
在/usr/local/nginx/html目錄下建立一個test.php檔案,內容如下:
<?php
$con = mysqli_connect(“127.0.0.1”, “root”, “123456”);
if (!$con) {
die(“Could not connect:” . mysqli_error($con));
}
if (mysqli_query($con, `create database zhou`)) {
echo `Database created!`;
} else {
echo `Database created error:` , mysqli_error($con);
}
mysqli_close($con);
開啟瀏覽器訪問:127.0.0.1/test.php。
登陸mysql,檢視資料庫zhou是否建立成功,如果建立成功表明LNMP環境搭建完成。
本文轉自 2012hjtwyf 51CTO部落格,原文連結:http://blog.51cto.com/hujiangtao/1918858,如需轉載請自行聯絡原作者
相關文章
- lnmp環境安裝-原始碼編譯LNMP原始碼編譯
- lnmp環境安裝詳細LNMP
- LNMP 環境安裝LNMP
- 安裝LNMP環境LNMP
- macOS 安裝 LNMP 環境MacLNMP
- brew lnmp 環境安裝LNMP
- 從零搭建LNMP環境(一) - 編譯原始碼安裝PHPLNMP編譯原始碼PHP
- 蘋果系統安裝php環境的方法詳解蘋果PHP
- Magento2 LNMP 環境安裝LNMP
- ubuntu 16.04安裝LNMP環境UbuntuLNMP
- Docker 下安裝配置 lnmp 環境DockerLNMP
- Ubuntu20 LNMP 環境安裝UbuntuLNMP
- zabbix一鍵安裝lnmp環境LNMP
- mac brew 安裝 lnmp環境 代替MampMacLNMP
- centos6.2LNMP環境安裝(yum)CentOSLNMP
- RedHat/CentOs系統搭建lnmp環境RedhatCentOSLNMP
- windows環境docker安裝LNMP環境詳解藉助dockers-compose.yml3分鐘快速完成WindowsDockerLNMP
- LNMP 原始碼安裝搭建薦LNMP原始碼
- centos7使用yum安裝lnmp環境CentOSLNMP
- Linux 下使用 Docker 安裝lnmp環境LinuxDockerLNMP
- 【Linux】LNMP 環境搭建(上):安裝篇LinuxLNMP
- [Linux] LNMP 環境搭建(上):安裝篇LinuxLNMP
- PHP環境LAMP/LNMP安裝與配置筆記PHPLAMPLNMP筆記
- 如何利用LNMP環境安裝SMF論壇程式LNMP
- Mac下安裝LNMP(Nginx+PHP5.6)環境MacLNMPNginxPHP
- Linux系統安裝(CentOS6)LinuxCentOS
- 在 Ubuntu18.04 下安裝 LNMP 環境UbuntuLNMP
- 快速搭建 Linux(LNMP + Linux 安裝 + 環境配置)LinuxLNMP
- Laravel 之道特別篇一: yum 安裝 LNMP 環境LaravelLNMP
- DKhadoop環境安裝配置步驟詳解Hadoop
- CentOS6系統Apache環境配置SSL證書教程CentOSApache
- Ubuntu系統-FFmpeg安裝及環境配置Ubuntu
- 1.8LNMP環境編譯安裝php-5.6.14LNMP編譯PHP
- HHvm建站環境搭建方法:Nginx、lnmp/lamp等安裝部署NginxLNMPLAMP
- oneinstack 另一個 lnmp環境一鍵安裝工具LNMP
- nginx原始碼編譯安裝(詳解)Nginx原始碼編譯
- 詳解LAMP原始碼編譯安裝LAMP原始碼編譯
- lnmp安裝指令碼LNMP指令碼