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

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