一、安装nginx1.16.1
1、下载地址http://nginx.org/en/download.html
2、安装依赖
# yum -y install openssl-devel
# yum -y install zlib-devel
# yum -y install pcre-devel
# yum -y install gcc
3、添加nginx用户和组,运行服务
# groupadd -r nginx
# useradd -r -g nginx -s /bin/false -M nginx
# id nginx
4、解压
# tar xf nginx-1.16.1.tar.gz
5、编译
# ./configure --prefix=/usr --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/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_flv_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
6、安装
# make && make install
编译参数说明
--prefix=<path> - Nginx安装路径。如果没有指定,默认为 /usr/local/nginx。
--conf-path=<path> - 在没有给定-c选项下默认的nginx.conf的路径。如果没有指定,默认为<prefix>/conf/nginx.conf。
--pid-path=<path> - 在nginx.conf中没有指定pid指令的情况下,默认的nginx.pid的路径。如果没有指定,默认为 <prefix>/logs/nginx.pid。
--lock-path=<path> - nginx.lock文件的路径。
--error-log-path=<path> - 在nginx.conf中没有指定error_log指令的情况下,默认的错误日志的路径。如果没有指定,默认为 <prefix>/logs/error.log。
--http-log-path=<path> - 在nginx.conf中没有指定access_log指令的情况下,默认的访问日志的路径。如果没有指定,默认为 <prefix>/logs/access.log。
--user=<user> - 在nginx.conf中没有指定user指令的情况下,默认的nginx使用的用户。如果没有指定,默认为 nobody。
--group=<group> - 在nginx.conf中没有指定user指令的情况下,默认的nginx使用的组。如果没有指定,默认为 nobody。
--with-http_ssl_module -开启HTTP SSL模块,使NGINX可以支持HTTPS请求。需要安装了OPENSSL
--with-http_flv_module
--with-http_stub_status_module - 启用 "server status" 页(可有可无)
--without-http_gzip_module - 禁用 ngx_http_gzip_module. 如果启用,需要 zlib 。
--without-http_ssi_module - 禁用 ngx_http_ssi_module
--without-http_referer_module - 禁用 ngx_http_referer_module
--without-http_rewrite_module - 禁用 ngx_http_rewrite_module. 如果启用需要 PCRE 。
--without-http_proxy_module - 禁用 ngx_http_proxy_module
--without-http_fastcgi_module - 禁用 ngx_http_fastcgi_module
--without-http_memcached_module - 禁用 ngx_http_memcached_module
--without-http_browser_module - 禁用 ngx_http_browser_module
--http-proxy-temp-path=PATH - Set path to the http proxy temporary files
--http-fastcgi-temp-path=PATH - Set path to the http fastcgi temporary files
--without-http - 禁用 HTTP server(用作代理或反向代理)
--with-mail - 启用 IMAP4/POP3/SMTP 代理模块
--with-mail_ssl_module - 启用 ngx_mail_ssl_module
--with-openssl=DIR - Set path to OpenSSL library sources
7、添加到服务列表
# chkconfig --add nginx
# chkconfig nginx on
8、启动nginx
# /usr/sbin/nginx
#出现错误
nginx: [emerg] mkdir() "/var/tmp/nginx/client/" failed (2: No such file or directory)
#执行下面命令创建/var/tmp/nginx 目录,后再执行/usr/sbin/nginx
# mkdir -p /var/tmp/nginx
9、查看nginx是否启动
# netstat -tnlp | grep nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 4069/nginx: master
二、安装php
1、下载:http://cn2.php.net/distributions/php-7.2.27.tar
2、解压
# tar -xzf php-7.2.8.tar.gz
3、进入文件夹
# cd php7.2.8/
4、编译
# ./configure --prefix=/usr/local/php-fpm --enable-fpm --with-zlib --with-pdo-mysql --enable-mbstring --with-gd --with-png-dir=/usr/lib64 --with-jpeg-dir=/usr/lib64 --with-freetype-dir=/usr/lib64
5、安装
# make && make install
6、添加用户及用户组
# groupadd -r www
# useradd -r -g www www
7、先对它进行一些配置,到php-fpm的安装目录etc下复制一份配置文件
# cd /usr/local/php-fpm/etc/
# cp php-fpm.conf.default php-fpm.conf
# vi php-fpm.conf
# ;pid = run/php-fpm.pid (去掉前面的分号)
# cd php-fpm.d/
# cp www.conf.default www.conf
# vi www.conf
修改用户及用户组
将user=nobody的注释去掉,并将nobody改成上面配置的www用户
将group=nobody的注释去掉,并将nobody改成上面配置的www用户组
8、配置环境变量
# vi /etc/profile
PATH=$PATH:/www/server/php/56/bin
export PATH
9、启动php
# /usr/local/php-fpm/sbin/php-fpm
10、结束php-fpm
# killall php-fpm
11、 service php-fpm start启动命令不生效
# service php-fpm start
Redirecting to /bin/systemctl start php-fpm.service
Failed to start php-fpm.service: Unit not found.
12、解决方案
1)find / -name 'init.d.php-fpm'
/opt/php-7.2.27/sapi/fpm/init.d.php-fpm
2)cp /opt/php-7.2.27/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
3)chmod a+x /etc/init.d/php-fpm //修改为可执行权限
4)service php-fpm start
13、php-fpm命令
开启
# service php-fpm start
重启
# service php-fpm restart
关闭
# service php-fpm stop
三、安装mysql
1、下载:http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.48.tar.gz
2、解压
# tar -zxvf mysql-5.6.48.tar.gz
# cd mysql-5.6.48/
3、编译
# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data
-bash: cmake: command not found
安装
# yum install cmake
Configuring incomplete, errors occurred!
See also "/opt/mysql-5.6.48/CMakeFiles/CMakeOutput.log".
See also "/opt/mysql-5.6.48/CMakeFiles/CMakeError.log".
删除安装目录中产生的CMakeCache.txt文件,然后重新运行cmake
# rm -r CMakeCache.txt
4、安装mysql
# make && make install
# cd /usr/local/mysql/
5、创建mysql用户和mysql用户组 并且让mysql用户属于mysql用户组
# groupadd mysql
# useradd -r -g mysql mysql
6、删除默认配置
# rm -f /etc/my.cnf
7、下面将所有目录都改成root 和root组 只有data目录不是不是
# chown -R root:root .
# chown -R mysql:mysql data
8、修改配置文件
# cp support-files/my-default.cnf /etc/my.cnf
9、以完整路径的方式启动MySQL,不动了,可以回车
# /usr/local/mysql/bin/mysqld_safe --user=mysql &
10、将MySQL程序复制到启动目录
# cp support-files/mysql.server /etc/init.d/mysqld
11、增加配置即可
# chkconfig --add mysqld
12、可以使用管理服务的命令管理MySQL
# service mysqld stop #关闭mysql
# service mysqld start #启动mysql
13、添加环境变量
# vim /etc/profile
#修改,添加mysql
PATH=$PATH:/usr/local/php-fpm/bin:/usr/local/mysql/bin
export PATH
14、配置mysql用户
# mysql -uroot -p #没有密码直接回车
#选中用户库
mysql> use mysql
#查询用户
mysql> select user,password,host from mysql.user;
+------+----------+-------------------------+
| user | password | host |
+------+----------+-------------------------+
| root | | localhost |
| root | | iz2zej5o9159qyh4bv0jldz |
| root | | 127.0.0.1 |
| root | | ::1 |
| | | localhost |
| | | iz2zej5o9159qyh4bv0jldz |
+------+----------+-------------------------+
6 rows in set (0.00 sec)
#删除没有的用户
delete from mysql.user where host <> 'localhost';
delete from mysql.user where user <> 'root';
#设置密码
mysql> update mysql.user set password=password('root') where user='root';
#设置远程连接
mysql> update mysql.user set host = '%' where user = 'root';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
# 刷新权限让密码生效
mysql> flush privileges;