系统信息:
- [root@zww ~]# cat /etc/redhat-release
- CentOS release 6.5 (Final)
- [root@zww ~]# uname -r
- 2.6.32-573.22.1.el6.x86_64
1. 安装 nginx:
安装依赖库: yum -y install zlib zlib-devel openssl openssl-devel pcre-devel
官网下载源码包 wget http://nginx.org/download/nginx-1.9.10.tar.gz
解压: tar xf nginx-1.9.10.tar.gz
编译安装, 这里只安装到 / usr/local/nginx-1.9, 其它选项可在源码包目录执行./configure --help 查看
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_realip_module --with-pcre && make && make install
出错:./configure: error: SSL modules require the OpenSSL library.
明显缺少 openssl-devel 安装: yum install -y openssl-devel
添加运行用户和用户组:
[root@zww ~]# useradd -M -s /sbin/nologin www
修改 nginx 配置文件:
- [root@zww ~]# vim /usr/local/nginx/conf/nginx.conf
- user www;
- worker_processes 2;
- error_log /usr/local/nginx/logs/error.log crit;
- pid /usr/local/nginx/logs/nginx.pid;
- worker_rlimit_nofile 65535;
- events {
- use epoll;
- worker_connections 65535;
- }
- http {
- include mime.types;
- default_type application/octet-stream;
- #charset gb2312;
- server_names_hash_bucket_size 128;
- client_header_buffer_size 32k;
- large_client_header_buffers 4 32k;
- client_max_body_size 8m;
- sendfile on;
- tcp_nopush on;
- keepalive_timeout 60;
- tcp_nodelay on;
- fastcgi_connect_timeout 300;
- fastcgi_send_timeout 300;
- fastcgi_read_timeout 300;
- fastcgi_buffer_size 64k;
- fastcgi_buffers 4 64k;
- fastcgi_busy_buffers_size 128k;
- fastcgi_temp_file_write_size 128k;
- #fastcgi_intercept_errors on;
- gzip on;
- gzip_min_length 1k;
- gzip_buffers 4 16k;
- gzip_http_version 1.0;
- gzip_comp_level 2;
- gzip_types text/plain application/x-javascript text/CSS application/xml;
- gzip_vary on;
- log_format '$remote_addr - $remote_user [$time_local]"$request" '
- '$status $body_bytes_sent"$http_referer" '
- '"$http_user_agent" "$http_x_forwarded_for"';
- log_format access '- $remote_addr - - $time_local"$request""$http_referer" "$http_user_agent" $body_bytes_sent $http_x_forwarded_for $request_length $status $request_time' ;
- include /usr/local/nginx/conf/vhosts/*.conf;
- }
启动前先检查 nginx 配置是否有错:
- [root@localhost nginx]# /usr/local/nginx/sbin/nginx -t
- ./sbin/nginx: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory
出错: 解决方法: 添加软链接:
ln -s /lib/libpcre.so.0.0.1 /lib/libpcre.so.1
前面在一般的 linux 上可以解决此问题.
注: 在有的操作系统上面, 安装 pcre 后, 安装的位置为 / usr/local/lib/*pcre*
在 redhat 64 位机器之上有这样的情况.
在 redhat 64 位机器上, nginx 可能读取的 pcre 文件为 / lib64/libpcre.so.1 文件.
所以 64 位机器添加软链接:
ln -s /usr/local/lib/libpcre.so.1 /lib64/
再次检测:
- [root@localhost nginx]# ./sbin/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:
/usr/local/nginx/sbin/nginx -s reload
出错: nginx: [error] invalid PID number ""in"/usr/local/nginx/logs/nginx.pid"
解决:
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf //nginx -c 指定配置文件位置
设置开机自动启动 nginx:
- echo /usr/local/nginx/sbin/nginx>> /etc/rc.d/rc.local
- [root@zhiwenwei nginx]# netstat -tlunp|grep nginx
- tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 26752/nginx
2. 安装 mysql
mysql 版本 5.5 以上编译安装时需要用到软件 cmake,cmake 特性是独立于源码编译, 编译工作可以在另外一个目录中而非源码目录中进行, 好处是可以保证源码目录不受任何一次编译的影响. 估计以后的版本也会采用这种方式, 所以特地记录一下安装步骤及过程, 以供参考
安装依赖软件库: yum -y install cmake bison ncurses-devel
创建用户和用户组与赋予数据存放目录权限
- useradd -M -s /sbin/nologin mysql
- chown -R mysql:mysql /usr/local/mysql
解压 mysql 源码包并进入源码包目录进行编译安装:
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.17.tar.gz
解压进行编译安装: tar xf mysql-5.7.17.tar.gz
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306 -DMYSQL_DATADIR=/usr/local/mysql/data && make && make install
报错: CMake Error at cmake/boost.cmake:81 (MESSAGE):
You can download it with -DDOWNLOAD_BOOST=1 -DWITH_BOOST=<directory>
解决: 下载 boost 库:
boost 库官网: http://www.boost.org
下载 boost 库并解压
- wget http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
- tar xf boost_1_59_0.tar.gz
清除缓存并添加 - DDOWNLOAD_BOOST=1 -DWITH_BOOST=/opt/boost_1_59_0 重新进行编译安装:
- [root@zww mysql-5.7.17]#make clean
- [root@zww mysql-5.7.17]#rm -rf CMakeCache.txt
- [root@zww mysql-5.7.17]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306 -DMYSQL_DATADIR=/usr/local/mysql/data -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/opt/boost_1_59_0 && make && make install
如果报错, 请除缓存再使用以上命令
- make clean
- rm -rf CMakeCache.txt
在启动 MySQL 服务时, 会按照一定次序搜索 my.cnf, 先在 / etc 目录下找, 找不到则会搜索 "$basedir/my.cnf, 这里复制源码包下的配置文件到 etc 目录下并改名为 my.conf
cp support-files/my-medium.cnf /etc/my.cnf
或者自己编译配置文件:
- vim /etc/my.cnf
- [client]
- port = 3306
- socket = /tmp/mysql.sock
- [mysqld]
- port = 3306
- socket = /tmp/mysql.sock
- log-error=/data/log/mysql/error.log
- datadir=/data/mysql_data/
- [safe_mysqld]
- err-log = /var/log/mysqld.log
- pid-file = /var/lib/mysql/mysqld.pid
- [mysqldump]
- quick
- max_allowed_packet = 16M
初始化数据库
安装完毕后必须要进行初始化配置. 使用 mysql_install_db 脚本进行初始化, mysql5.7 之前的版本的 mysql_install_db 是在 mysql_basedir/script 下的, mysql5.7 版本在 mysql 安装目录下的 bin 目录.
初始化:
[root@zww mysql-5.7.17]# /usr/local/mysql/bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
配置 mysql 服务脚本:
- cp support-files/mysql.server /etc/init.d/mysql
- chmod 755 /etc/init.d/mysql
- chkconfig mysql on
或者: echo /usr/local/mysql/support-files/mysql.server start >> /etc/rc.d/rc.local
启动数据库:
service mysql start
设置 mysql 环境变量:
export PATH=$PATH:/usr/local/mysql/bin
初始化密码
mysql5.7 会生成一个初始化密码, 而在之前的版本首次不需要登录.
- [root@zww mysql]# cat /root/.mysql_secret
- # Password set for user 'root@localhost' at 2017-02-07 16:17:37
- +Bcr6_+TMv?w
设置密码
- [root@zww mysql]#mysqladmin -h localhost -uroot password '123456' -p'+Bcr6_+TMv?w'
- mysqladmin: [Warning] Using a password on the command line interface can be insecure.
- Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.
登录 mysql
- [root@zww ~]# mysql -uroot -p
- Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
- Your MySQL connection id is 22
- Server version: 5.7.17 Source distribution
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- Oracle is a registered trademark of Oracle Corporation and/or its
- affiliates. Other names may be trademarks of their respective
owners.
- Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
- mysql>
3.php 安装
我的另一篇文章有关于 php 的安装记录:
http://www.cnblogs.com/wenwei-blog/p/6261637.html
来源: http://www.bubuko.com/infodetail-2740885.html