本人呢接触服务器不多,不久前拥有了自己的第一台服务器后,便想着把平时工作用到的东西也部署一套,方便练习调试
话不多说,以下是当初在搭建环境时自己顺手整理的,如有不合理的地方,请大家指点指点
第1步:安装依赖
本人比较懒,直接一步把所有的依赖都先安装了,省得后面安装程序的时候缺这少那,影响效率
yum -y install gcc bison bison-devel zlib-devel libmcrypt-devel mcrypt mhash-devel openssl-devel libxml2-devel libcurl-devel bzip2-devel readline-devel libedit-devel sqlite-devel gcc-c++ automake pcre pcre-devel zlip openssl ncurses-devel perl gcc-c++
以下库根据需要进行安装
GD库 yum install php-gd*
png库 yum -y install libpng-devel
jpeg库 yum -y install libjpeg-devel
freetype库,需要自己下载编译安装,找不到yum命令
第2步:编译安装nginx
本人这里用的是nginx-1.6.3版本,这里就不提供下载链接了,自己搜一搜下载即可
解压 进入解压出来的文件夹,输入以下命令,--prefix=****,***是nginx要安装的路径,这里用/usr/local/nginx作为安装路径
./configure --prefix=/usr/local/nginx --sbin-path=/usr/local/nginx/sbin/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module --with-http_gzip_static_module --http-client-body-temp-path=/var/tmp/nginx/client/ --http-proxy-temp-path=/var/tmp/nginx/proxy/ --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi --http-scgi-temp-path=/var/tmp/nginx/scgi --with-pcre
等以上命令执行完后,输入
make
执行完,输入
make install
启动:/usr/local/nginx/sbin/nginx
如果执行此命令时提示nginx: [emerg] getpwnam("nginx") failed
则需要
useradd -s /sbin/nologin -M nginx
id nginx
再次启动,成功,如果还提示缺少什么文件夹,创建即可
第3步:编译安装php
php这里用的是5.6.30版本,同样解压后进入解压出来的文件夹中,输入以下命令
./configure --prefix=/usr/local/php --with-jpeg-dir --with-png-dir --with-zlib --with-freetype-dir --with-iconv-dir --enable-mbstring --disable-ipv6 --enable-exif --with-mysql --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-fpm --with-mcrypt --with-openssl --with-curl --with-pdo-mysql --with-gd --enable-soap --enable-opcache=no
等以上命令执行完后,输入
make
执行完,输入
make install
###php配置
php.ini是php运行核心配置文件
php-fpm.conf是php-fpm进程服务的配置文件
注:以下是将配置文件复制到安装好的php目录中,每个#开头的都表示是命令,需要输入执行
# cp php.ini-production /usr/local/php/etc/php.ini# cp /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 ###fpm测试php配置
# /usr/local/php/sbin/php-fpm -t
[23-May-2016 20:03:52] NOTICE: configuration file /usr/local/php/etc/php-fpm.conf test is successful
# chkconfig --add php-fpm
# chkconfig php-fpm on
# service php-fpm start
启动成功
第4步:编辑安装mysql
mysql用的是5.6.16版本
查询系统中MySQL的相关程序:
rpm -qa | grep mysql
如果有,则卸载
rpm -e 包名 或 rpm -e --nodeps 包名
例:卸载mysql-libs
rpm -e mysql-libs #卸载 说明:若存在依赖关系,则无法被卸载。
忽略依赖关系卸载:
rpm -e --nodeps mysql-libs
由于编译安装mysql需要用到cmake命令,这里需要另外安装cmake
cmake安装过程无非还是 解压->进入目录->./configure->make->make install
准备工作
新增mysql用户组:groupadd mysql
新增mysql用户:useradd -r -g mysql mysql
新建mysql安装目录:mkdir -p /usr/local/mysql
新建mysql数据库数据文件目录:mkdir -p /data/mysqldb
开始安装
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/data/mysqldb \
-DMYSQL_TCP_PORT=3306 \
-DENABLE_DOWNLOADS=1
make
make install
修改/usr/local/mysql以及/data/mysqldb 所属用户及用户组为mysql
初始化数据库
cd /usr/local/mysql
scripts/mysql_install_db --user=mysql --datadir=/data/mysqldb
复制配置文件
cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
注:如果/etc/my.cnf文件存在,则覆盖。
关于MySQL配置文件存在多个访问位置。MySQL会以此访问,后访问到的配置会覆盖先前的配置。
MySQL访问配置文件的访问路径与访问顺序如下:/etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf
配置MySQL
--------注意修改basedir 以及 datadir的地址
vim /etc/my.cnf
[client]
#password = your_password
port = 3306
socket = /usr/local/mysql/mysql.sock
default-character-set=utf8
# Here follows entries for some specific programs
# The MySQL server
[mysqld]
port = 3306
character_set_server=utf8
basedir=/usr/local/mysql
datadir=/data/mysqldb
socket = /usr/local/mysql/mysql.sock
skip-external-locking
key_buffer_size = 16M
max_allowed_packet = 1M
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
配置环境变量
vim /etc/profile
在文件的末尾添加内容:
PATH=$PATH:/usr/local/mysql/bin
export PATH
保持退出后,执行:
source /etc/profile
将MySQL设置为系统服务并启动服务
cp support-files/mysql.server /etc/init.d/mysqld
即,MySQL可以以如下形式启动:
service mysqld start
如果报错 "Starting MySQL. ERROR! The server quit without updating PID file (/data/mysql/rhelubuntu.com.pid). " 则修改
vim /etc/init.d/mysqld
修改basedir=/usr/local/mysql -----mysql安装位置
修改datadir=/data/mysqldb -----mysql数据文件存放位置
配置用户
使用MySQL客户端连接MySQL服务器
mysql -u root -p
初始密码为空,如果能登陆上,则安装成功。
设置mysql管理员密码
mysqladmin -u root password '新密码'
初次发表,不合理的地方请大家指出,谢谢