在CentOS6上搭建LNMP環境(上)

搭建環境:

   操作系統:CentOS 6.7

   nginx軟件:nginx-1.8.1.tar.gz

   mysql軟件:mysql-5.5.51-linux2.6-x86_64.tar.gz

   PHP軟件:php-5.6.11.tar.gz 

一、LNMP安裝前環境準備

1、設置linux防火牆

1)在iptables上開放80,3306,443端口

[root@db ~]# vim /etc/sysconfig/iptables

# Firewall configuration written by system-config-firewall

# Manual customization of this file is not recommended.

*filter

:INPUT ACCEPT [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

-A INPUT -p icmp -j ACCEPT

-A INPUT -i lo -j ACCEPT

-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

-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

-A INPUT -j REJECT --reject-with icmp-host-prohibited

-A FORWARD -j REJECT --reject-with icmp-host-prohibited

COMMIT

[root@db ~]# service iptables restart-----重啓iptables服務

2)關閉selinux防火牆

[root@db ~]# vim /etc/sysconfig/selinux

# This file controls the state of SELinux on the system.

# SELINUX= can take one of these three values:

#     enforcing - SELinux security policy is enforced.

#     permissive - SELinux prints warnings instead of enforcing.

#     disabled - No SELinux policy is loaded.

SELINUX=disabled

# SELINUXTYPE= can take one of these two values:

#     targeted - Targeted processes are protected,

#     mls - Multi Level Security protection.

SELINUXTYPE=targeted

[root@db ~]#setenforc 0

3)安裝依賴包

[root@db ~]#yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel openldap-clients openldap-servers make  libtool* git tree bison pcre-devel perl gd gd-devel

4)編譯安裝其他軟件

A:安裝libiconv軟件(該軟件支持編碼轉換爲函數)

[root@db software]# tar xf libiconv-1.14.tar.gz 

[root@db libiconv-1.14]# ./configure --prefix=/usr/local 

[root@db libiconv-1.14]# make && make install

[root@db libiconv-1.14]# echo $?

0

(顯示0,表示軟件編譯安裝成功了)

B:安裝libmcrypt  (加密算法擴展庫,支持DES, 3DES, RIJNDAEL, Twofish, IDEA, GOST, CAST-256, ARCFOUR, SERPENT, SAFER+等算法)

[root@db software]# tar xf libmcrypt-2.5.7.tar.gz 

[root@db software]# cd libmcrypt-2.5.7

[root@db libmcrypt-2.5.7]# ./configure 

[root@db libmcrypt-2.5.7]# cd libltdl/

[root@db libltdl]# ./configure --enable-ltdl-install

[root@db libltdl]# make && make install

C: 安裝mhash(mhash的可以用於創建校驗數值,消息摘要,消息認證碼,以及無需原文的關鍵信息保存

[root@db software]# tar xf mhash-0.9.9.9.tar.gz 

[root@db software]# cd mhash-0.9.9.9

[root@db mhash-0.9.9.9]# ./configure && make && make install

D:安裝mcript(mcrypt 是 php 裏面重要的加密支持擴展庫,Mcrypt擴展庫可以實現加密解密功能,就是既能將明文加密,也可以密文還原。)

[root@db software]# tar xf mcrypt-2.6.8.tar.gz 

[root@db software]# cd mcrypt-2.6.8

[root@db mcrypt-2.6.8]# export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

[root@db mcrypt-2.6.8]# ./configure && make && make install

E:增加庫文件

[root@db software]# ln -s /usr/local/lib/libmcrypt.la /usr/lib/libmcrypt.la 
[root@db software]# ln -s /usr/local/lib/libmcrypt.so /usr/lib/libmcrypt.so 
[root@db software]# ln -s /usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4 
[root@db software]# ln -s /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib/libmcrypt.so.4.4.8 
[root@db software]# ln -s /usr/local/lib/libmhash.a /usr/lib/libmhash.a 
[root@db software]# ln -s /usr/local/lib/libmhash.la /usr/lib/libmhash.la 
[root@db software]# ln -s /usr/local/lib/libmhash.so /usr/lib/libmhash.so 
[root@db software]# ln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2 
[root@db software]# ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1 
[root@db software]# ln -s /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-config

F:安裝cmake (MySQL從5.5版本開始,通過./configure進行編譯配置方式已經被取消,取而代之的是cmake工具)

[root@db ~]# yum -y install cmake


二、安裝mysql數據軟件

1)創建mysql用戶

[root@db software]#groupadd -r mysql

[root@db software]# useradd -r -g mysql mysql -s /sbin/nologin

2)創建mysql的數據目錄

[root@db software]# mkdir -p /data/mysqldb

3)安裝mysql

[root@db ~]# cd /software/

[root@db software]# tar xf mysql-5.5.51-linux2.6-x86_64.tar.gz -C /usr/local/

[root@db software]# cd /usr/local/

[root@db local]# ll

total 48

drwxr-xr-x.  2 root root 4096 Aug 18 11:46 bin

drwxr-xr-x.  2 root root 4096 Sep 23  2011 etc

drwxr-xr-x.  2 root root 4096 Sep 23  2011 games

drwxr-xr-x.  3 root root 4096 Aug 18 11:45 include

drwxr-xr-x.  3 root root 4096 Aug 18 11:45 lib

drwxr-xr-x.  2 root root 4096 Sep 23  2011 lib64

drwxr-xr-x.  2 root root 4096 Sep 23  2011 libexec

drwxr-xr-x.  3 root root 4096 Aug 18 11:41 man

drwxr-xr-x. 13 root root 4096 Aug 18 11:55 mysql-5.5.51-linux2.6-x86_64

drwxr-xr-x.  2 root root 4096 Sep 23  2011 sbin

drwxr-xr-x.  8 root root 4096 Aug 18 11:41 share

drwxr-xr-x.  2 root root 4096 Sep 23  2011 src

[root@db local]# ln -sv mysql-5.5.51-linux2.6-x86_64/ mysql

`mysql' -> `mysql-5.5.51-linux2.6-x86_64/'

修改mysql目錄權限

[root@db mysql]# chown -R mysql:mysql .

[root@db mysql]# cd /data/mysqldb/

[root@db mysqldb]# chown -R mysql:mysql .

初始化mysql數據庫

[root@db ~]# cd /usr/local/mysql

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

編輯mysql配置文件/etc/my.cnf

[mysqld]

datadir=/data/mysqldb

socket=/tmp/mysql.sock

user=mysql

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

複製MySQL啓動文件及其命令加入PATH

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

[root@db mysql]# chmod +x /etc/init.d/mysqld 

[root@db mysql]# chkconfig mysqld on

[root@db mysql]# vim /etc/profile.d/mysqld.sh

 PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH

[root@db mysql]# source /etc/profile.d/mysql.sh

啓動mysql服務器

[root@db etc]# service mysqld start

Starting MySQL..                                           [  OK  ]

修改root用戶的密碼及授權普通用戶test可以遠程連接到mysql數據庫

mysql> grant all on *.* to 'root'@'localhost' identified by 'test123';

Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

mysql> grant all on *.* to 'test'@'%' identified by 'test1234';

Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章