lnmp 和 java 常用服务器环境搭建记录

nginx

下载依赖库:

yum install -y gcc-c++ && yum install -y pcre pcre-devel && yum install -y zlib zlib-devel && yum install -y openssl openssl-devel

官网现在nginx源码包:

wget http://nginx.org/download/nginx-1.18.0.tar.gz

解压:

tar -zxvf nginx-1.18.0.tar.gz

编译安装:

./configure --prefix /usr/local/nginx && make && make install

启动:

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

查看进程:

ps -ef | grep nginx

停止:

/usr/local/nginx/sbin/nginx -s sto


mysql

yum安装:(不推荐 yum装的东西不好把控,装的到处都是文件)

下载官网提供的仓库包:

wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

安装镜像:

yum -y install mysql80-community-release-el7-3.noarch.rpm

安装服务:

yum -y install mysql-community-server

 

源码安装:

官网下载源码包,注意下载的地方:

mysql官网安装文档:https://dev.mysql.com/doc/refman/8.0/en/installing-source-distribution.html  有具体的安装步骤:

# Preconfiguration setup
shell> groupadd mysql
shell> useradd -r -g mysql -s /bin/false mysql
# Beginning of source-build specific instructions
shell> tar zxvf mysql-VERSION.tar.gz
shell> cd mysql-VERSION
shell> mkdir bld
shell> cd bld
shell> cmake ..
shell> make
shell> make install
# End of source-build specific instructions
# Postinstallation setup
shell> cd /usr/local/mysql
shell> mkdir mysql-files
shell> chown mysql:mysql mysql-files
shell> chmod 750 mysql-files
shell> bin/mysqld --initialize --user=mysql
shell> bin/mysql_ssl_rsa_setup
shell> bin/mysqld_safe --user=mysql &
# Next command is optional
shell> cp support-files/mysql.server /etc/init.d/mysql.server

坑:

cmake 时提示我版本低 于是:

需要装 cmake 且 cmake版本要大于3.0,yum仓库中没有高版本的只能源码安装 cmake

下载 wget https://github.com/Kitware/CMake/releases/download/v3.18.0-rc1/cmake-3.18.0-rc1.tar.gz

解压 tar -zxvf cmake-3.18.0-rc1.tar.gz -C /usr/local/cmake3

./bootstrap && gmake && gmake install   (执行的很慢)

然后继续去mysql目录执行 cmake 依然报错:

说我gcc版本低,难道是因为我装的mysql 8 版本有点高导致的?于是果断下载 mysql 5.9,然后继续cmake

又报错了:

CMake Error at cmake/boost.cmake:88 (MESSAGE):
  You can download it with -DDOWNLOAD_BOOST=1 -DWITH_BOOST=<directory>

  This CMake script will look for boost in <directory>.  If it is not there,
  it will download and unpack it (in that directory) for you.

继续百度...... (很烦),于是 开始整 boost

下载 wget http://www.sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz(注意:由于下载的很慢,开始下载了一个不完整的包,导致我走了很多弯路)

解压 tar -zxvf boost_1_59_0.tar.gz -C /usr/local

编译  ./bootstrap.sh && ./b2

继续 cmake ,这次要加上参数

cmake ./ -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost/boost_1_59_0

成功了

然后 编译安装 make && make install

装完之后的MySQL在 /usr/local/mysql目录中 而不是之前解压和执行命令的目录

最后按照官网进行mysql的初始化配置操作

大致步骤:

创建MySQL用户,

创建mysql存放数据的目录,

设置目录权限和所有者为mysql用户,

然后执行初始化命令 bin/mysqld --initialize --user=mysql  注意报错信息,大部分是因为权限问题导致,

此时查看 /etc/my.cnf文件,里边所有涉及到的文件和目录全部给到mysql用户下,

然后删除数据目录下已有的文件重新初始化。

启动:/usr/local/mysql/bin/mysqld --user=mysql   (安全考虑mysql不允许以root用户启动,这里指明mysql用户启动,启动能否成功全依赖上边的初始化等操作,注意观察过程中所有的waring和error信息,逐个排查)

在数据库初始化成功后会生成临时的root账号密码

但我没有用这个登录成功,这里用另一种方法:

vim /etc/my.cnf 在【mysqld】下添加一行 skip-grant-tables 重新启动mysql 就可以免密登录

进去之后修改root账号密码:update user set authentication_string=password("root") where user = 'root';

 

php

参照官方文档安装即可  https://www.php.net/manual/zh/install.unix.nginx.php

下载包  wget https://www.php.net/distributions/php-7.0.12.tar.gz

解压  tar -zxvf php-7.0.12.tar.gz -C /usr/local

编译  ./configure --enable-fpm --with-mysql

编译时报错处理:configure error xml2-config not found. please check your libxml2  

修复  yum -y install libxml2   yum -y install libxml2-devel

重新编译 然后  make  &&  make install

配置:

cp php.ini-development /usr/local/php/php.ini
cp /usr/local/etc/php-fpm.d/www.conf.default /usr/local/etc/php-fpm.d/www.conf

#如果文件不存在,则阻止 Nginx 将请求发送到后端的 PHP-FPM 模块, 以避免遭受恶意脚本注入的攻击。

#将 php.ini 文件中的配置项 cgi.fix_pathinfo 设置为 0

vim /usr/local/php/php.ini
cgi.fix_pathinfo=0
 

需要修改 php-fpm.conf 配置文件,确保 php-fpm 模块使用 www 用户和 www 用户组的身份运行

注意 /usr/local/etc/php-fpm.conf 文件最后一行引入的配置文件路径要正确

然后 /usr/local/sbin/php-fpm  启动

 

lnmp配置

创建 www 用户和用户组 用来运行web项目

groupadd www

useradd -r -g www -s /sbin/nologin www

配置nginx.conf 文件中  user   www

/usr/local/nginx/conf 下新建 vhosts 目录存放虚拟主机配置文件

在 nginx.conf配置文件中 http配置块最下面添加   include  vhosts/*.conf

vhosts目录下新建虚拟主机文件  www.test.com.conf

server {
        listen       80;
        server_name  www.test.com;
        root /home/php_www/test;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            index  index.php index.html index.htm;
        }

        location ~ \.php$ {
        #    root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
        #注意这里不要复制nginx.conf中的,要复制php官方文档中给的
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }

注意:访问的目录要给到www用户下,否则因为权限问题请求不到

 

java jdk

官网下载源码包   jdk-8u251-linux-x64.tar.gz  (注意: 64位源码包 centos系统是64位的)

解压  tar -zxvf jdk-8u251-linux-x64.tar.gz  -C   /usr/local

配置环境变量  vim /etc/profile 添加

#java环境配置
JAVA_HOME='/usr/local/java8/jdk1.8.0_251'
JRE_HOME='/usr/local/java8/jdk1.8.0_251/jre'

PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

刷新 source /etc/profile

 

tomcat

官网下载源码包  apache-tomcat-8.5.56.tar.gz 

解压 tar -zxvj apache-tomcat-8.5.56.tar.gz -C /usr/local

启动 /usr/local/apache-tomcat-8.5.56/bin/startup.sh

 

redis

官网下载源码包 wget http://download.redis.io/releases/redis-5.0.5.tar.gz

解压 tar -zxvf redis-5.0.5.tar.gz -C /usr/local

直接编译安装  make && make install

修改配置文件守护进程启动  daemonize yes

启动 /usr/local/redis-5.0.5/src/redis-server

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